Представьте себе следующие два класса:Создание объектов различных типов с использованием единой подписи
class A
{
public A()
{
}
}
class B : A
{
public B()
{
}
}
Возможно ли для меня, чтобы определить, или же интерфейс, таким образом, что силы класса B, чтобы иметь без параметров конструктор? Или, более обобщенный, конструктор (или статический метод), который способен создать экземпляр типа B с заданной сигнатурой?
я не хочу ограничить класс B, чтобы быть только конструктивны, используя эту подпись, но я хочу быть уверены, что класс B может быть построен с этой подписью (будь то Беспараметрическим, или с указанием определенных параметров).
Чтобы быть ясным: я не ищу решение, которое потребует от меня использования Reflection или любого другого метода, чтобы понять это во время выполнения (у меня нет проблем с ним, но это сделает код менее читаемый и, как правило, кажется плохим в этом случае).
Есть ли способ сделать это?
я написал сообщение в блоге, который идет более углубленного о том, что я пытаюсь достичь here
Это также можно использовать, если я хочу, чтобы обеспечить соблюдение, что объект есть, скажем, всегда конструктор, который принимает один аргумент Список типа? Или любое другое число и сочетание аргументов, которые я хотел бы получить? И если конструктор невозможен, может быть предусмотрено, что у класса есть статический метод, строящий сам экземпляр (конечно же, он может заставить определенные параметры быть приняты этим методом)? Если нет, это не подходит для моего дела, все равно спасибо за быстрый ответ :) –
user2791287
@ user2791287 Это невозможно, нет. – Servy
Отредактированный начальный вопрос со ссылкой на то, что я пытаюсь сделать, возможно, это дает более точное представление о том, что я хочу сделать, и, возможно, есть альтернативы, которые я упустил. O: – user2791287