Инициализаця свойств класса через reflection - C#
Формулировка задачи:
Добрых времени суток. Есть класс в котором 14 свойств двух типов: int[] и string[]. Чтобы не инициализировать их вручную, решил воспользоваться "GetProperties", сообразил вот что:
Но код явно не рабочий в таком виде, как же можно реализовать мою задачу?
Листинг программы
- typeof(TAnswer).GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public)
- .ToList()
- .ForEach
- (
- x => x.SetValue(this, x.PropertyType == typeof(string) ? new string[] {"1","3","6","8" } : new int[] {1,2,34 })
- );
Решение задачи: «Инициализаця свойств класса через reflection»
textual
Листинг программы
- foreach (var l in typeof(TAnswer).GetProperties(BindingFlags.Instance | BindingFlags.Public).ToList())
- {
- if (l.PropertyType == typeof(string[]))
- l.SetValue(this, new string[data.Count()]);
- else if(l.PropertyType == typeof(int[]))
- l.SetValue(this, new int[data.Count()]);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д