.NET 4.x Возможности рефлексии - запись поле в зависимости от типа аргумента - C#

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

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

Тренировался в написании Generic методов и задался вопросом, - можно ли в зависимости от типа входящего аргумента записывать данные в то или иное поле (с условием что поле заранее в названии содержит имя типа)? То есть, есть 3 класса
Листинг программы
  1. class A
  2. {
  3. }
  4. class B
  5. {
  6. }
  7. class C
  8. {
  9. }
и класс в котором происходят преобразования:
Листинг программы
  1. class Actions
  2. {
  3. List<string> listA = new List<string>();
  4. List<string> listB = new List<string>();
  5. List<string> listC = new List<string>();
  6. public void GenericAction<T>(List<T> data)
  7. {
  8. /*
  9. Тут в зависимости от типа T вызываем поле list+typeof(T).Name;
  10. например T = A, в таком случае listA.Add(somevalue);
  11. */
  12. }
  13. }
Не совсем мне ясно, можно ли осуществить это на уровне рефлексии?

Решение задачи: «.NET 4.x Возможности рефлексии - запись поле в зависимости от типа аргумента»

textual
Листинг программы
  1. list.GetType().GetMethod(...).Invoke(list, new object[] { arg1, arg2, ... });

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


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

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

10   голосов , оценка 3.8 из 5

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

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

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