Предположим, класс с параметризованным конструктор как:Создать экземпляр параметризованном родового объекта со всеми параметрами, установленными в нуль
MyObject(string param1, string param2, string param2)
{
...
}
У меня есть Generic
метод, который возвращает экземпляр Generic Class
и MyObject
является одним из такие случаи.
Как создать экземпляр класса с параметризованным конструктором и передать значения null во все его параметры? Это необходимо, так как свойства родового класса заселяются на несколько позднее этапе .
Я попытался с помощью Activator
как:
public static T GetGenericObject<T>()
{
T resource = (T)Activator.CreateInstance(typeof(T), null);
...
}
Но я получаю исключение, что я не получил конструктор без параметров в MyObject
. Я знаю, что могу добавить один легко, но класс не может быть изменен (не спрашивайте, почему).
Я уверен, что вы знаете это, но это должно быть сказано: Требуя свойства в конструкторе, а затем передать нуль значения из-за того, что они могут быть заселены позже, походят на действительно плохую идею. – StriplingWarrior