Инициализаця свойств класса через reflection - C#

Узнай цену своей работы

Формулировка задачи:

Добрых времени суток. Есть класс в котором 14 свойств двух типов: int[] и string[]. Чтобы не инициализировать их вручную, решил воспользоваться "GetProperties", сообразил вот что:
Листинг программы
  1. typeof(TAnswer).GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public)
  2. .ToList()
  3. .ForEach
  4. (
  5. x => x.SetValue(this, x.PropertyType == typeof(string) ? new string[] {"1","3","6","8" } : new int[] {1,2,34 })
  6. );
Но код явно не рабочий в таком виде, как же можно реализовать мою задачу?

Решение задачи: «Инициализаця свойств класса через reflection»

textual
Листинг программы
  1. foreach (var l in typeof(TAnswer).GetProperties(BindingFlags.Instance | BindingFlags.Public).ToList())
  2. {
  3.       if (l.PropertyType == typeof(string[]))
  4.          l.SetValue(this, new string[data.Count()]);
  5.       else if(l.PropertyType == typeof(int[]))
  6.          l.SetValue(this, new int[data.Count()]);
  7. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы