.NET 4.x Возможности рефлексии - запись поле в зависимости от типа аргумента - C#
Формулировка задачи:
Тренировался в написании Generic методов и задался вопросом, - можно ли в зависимости от типа входящего аргумента записывать данные в то или иное поле (с условием что поле заранее в названии содержит имя типа)?
То есть, есть 3 класса
и класс в котором происходят преобразования:
Не совсем мне ясно, можно ли осуществить это на уровне рефлексии?
class A { } class B { } class C { }
class Actions { List<string> listA = new List<string>(); List<string> listB = new List<string>(); List<string> listC = new List<string>(); public void GenericAction<T>(List<T> data) { /* Тут в зависимости от типа T вызываем поле list+typeof(T).Name; например T = A, в таком случае listA.Add(somevalue); */ } }
Решение задачи: «.NET 4.x Возможности рефлексии - запись поле в зависимости от типа аргумента»
textual
Листинг программы
list.GetType().GetMethod(...).Invoke(list, new object[] { arg1, arg2, ... });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д