(хотел уточнить, что я делаю небольшой личный проект, чтобы изучить ООП с C#, небольшим текстовым RPG для консоли без игрового двигателя) < /p>
Так что в основном у меня есть Файл CSV с кучей объектов и одним из столбцов является типом объекта (все типы - дети одного родительского класса). Я наткнулся на Activator.createInstance (тип типа) , потому что я не могу использовать новый , поскольку я не знаю, каким классом должен быть объект.
Проблема в том, что в нем говорится, что тип параметра является нулевым, даже если это не так.
У меня есть что -то вроде
//CSVList being a list of string arrays with the type of the object in [0]
string typename = CSVList[index][0];
Type type = Type.GetType(typename);
ParentClass objectExample;
objectExample = (ParentClass)Activator.CreateInstance(type);
< /code>
Я использовал < /p>
Console.WriteLine(typename);
Console.WriteLine(type != null);
< /code>
Чтобы подтвердить, что тип на самом деле, а не нулевой. Но это все еще бросает: < /p>
System.ArgumentNullException: Value cannot be null (Parameter 'type')
at System.ArgumentNullException.Throw(String paramName)
at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-on-param
Activator.createInstance (тип типа) Throws System.ArgumentNullexection на тип параметра [закрыто] ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Activator.createInstance (тип типа) Throws System.ArgumentNullexection на тип параметра
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Activator.CreateInstance выдает исключение для объекта анонимного типа с параметрами
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-