Нет, это не вопрос о дженериках.
У меня есть фабричный шаблон с несколькими классами с внутренними конструкторами (я не хочу, чтобы они создавались, если не через фабрику).
Моя проблема в том, что CreateInstance завершается с ошибкой «Для этого объекта не определен конструктор без параметров», если я не передам «true» для непубличного параметра.
Пример
// Fails
Activator.CreateInstance(type);
// Works
Activator.CreateInstance(type, true);
Я хотел сделать фабрику универсальной, чтобы сделать ее немного проще, например:
public class GenericFactory<T> where T : MyAbstractType
{
public static T GetInstance()
{
return Activator.CreateInstance<T>();
}
}
Однако мне не удалось найти, как передать этот «истинный» параметр, чтобы он принимал непубличные конструкторы (внутренние).
Я что-то пропустил или это невозможно?