Инициализация generic классов используя System.Type - C#
Формулировка задачи:
Здравствуйте.
Есть метод который возвращает через делегат имена свойств объекта и ссылку на сами свойства в виде object.
Возникла ситуация в которой свойства объекта generic классы. Приведу на примере листов.
Generic не может принять объект Type, подскажите как решить задачу).
public static void GetProperties <T>(T target, PropertiesHandler handler) { Type type = target.GetType(); PropertyInfo[] propInfos = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); for (int i = 0; i < propInfos.Length; i++) { handler(propInfos[i].Name, propInfos[i].GetValue(target),i); } }
public delegate void PropertiesHandler(string prpertyName, object value, int index);
GetProperties ( myObject , (string name, object value, int index) => { Type type = typeof (value); (value as List <type >) = new List<type>(mydata); });
Решение задачи: «Инициализация generic классов используя System.Type»
textual
Листинг программы
Type type = typeof (value); Type listType = typeof(List<>).MakeGenericType(type); IList list = (IList)Activator.CreateInstance(listType);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д