У меня есть этот абстрактный класс:Есть ли способ использовать импорт абстрактного класса в конкретном классе?
using TypeLib=some.type.library;
namespace someSpace
{
abstract class Creator
{
abstract public TypeLib.SomeObject createObject();
}
}
Вот конкретный класс:
using TypeLib=some.type.library;
namespace someSpace
{
class SpecialCreator:Creator
{
override public TypeLib.SomeObject createObject()
{
doSomethingSpecial();
return new TypeLib.SomeObject();
}
}
}
Потому что я хочу реализовать Creator
несколько различных способов, все из которых требует импортирующих some.type.library
, потому что они должны возвращать TypeLib.someObject
, есть ли способ, которым я могу просто иметь оператор using
на некотором высоком уровне и унаследовать ли он все реализации? Когда я не указал оператор using
в SpecialCreator()
, у него не было доступа к TypeLib
.
EDIT: Я думаю, что это не так, как вопрос duplicate directives. Я не пытаюсь консолидировать различные операторы using
в один мастер using
, который затем добавлю к множеству классов; вместо этого я хочу поместить один оператор using
в родительский класс/файл заголовка/статический класс/etc, чтобы он мог быть доступен для многих классов без необходимости добавлять одну и ту же строку кода в каждый класс. Дайте мне знать, если я неправильно понял вопрос о дублирующих директивах.
Нет. Вам необходимо явно включить использование в каждый файл .cs. – garryp
Почему бы просто не создать новый тип, который происходит из TypeLib.SomeObject и использовать его в классах? Его неявно преобразуется обратно в базовый тип ... –
Возможный дубликат [Дублирование с использованием директив в нескольких файлах] (http://stackoverflow.com/questions/24512894/duplicated-using-directives-in-multiple-files) –