.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, ... });