Я видел много вопросов о создании классов из строки, но не смог найти никакой информации о создании структуры таким же образом.
У меня есть класс, который содержит такую структуру:
Public Structure callDetails
Public GUID As Guid
Public ringTime as Date
Public CBN As String
и т.д.
Все, что я действительно хочу сделать, это получить имена полей из структуры. Мне все равно, манипулировать данными в полях.
Пока я могу довольно близко с этим подойти.
callDetails callTableDef= new callDetails();
Type tableType = callTableDef.GetType();
object tableStruct = (object)Activator.CreateInstance(tableType);
System.Reflection.FieldInfo[] fields = tableType.GetFields();
foreach (System.Reflection.FieldInfo field in fields)
Debug.WriteLine(field.Name + " = " + field.GetValue(tableStruct));
Однако мне все еще нужно создать экземпляр структуры с фактическим именем. Я хочу быть в состоянии передать в строку, как это:
Type tableType = System.Type.GetType("callDetails");
Когда я это делаю, я получаю ArgumentNullException от Activator.CreateInstance ()
Разве getType не должен искать переданное ему значение в виде строки и возвращать тип?
Я новичок в C #, программируя в основном на Java до этого проекта.