.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, ... });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д