Получить класс по строковому имени - C#

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

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

Здравствуйте, перелопатил кучу информации, а ответ не нашёл, как получить класс по его строковому названию?
Листинг программы
  1. class Program
  2. {
  3. static void Main<T>(string[] args)
  4. {
  5. string className = "MyClass";
  6. var myClassType = Activator.CreateInstance(Type.GetType(className));
  7. var res = method<myClassType>();
  8. }
  9. public static List<T> method<T>()
  10. {
  11. return new List<T>();
  12. }
  13. }
  14. public class MyClass
  15. {
  16. public string anyString { get; set; }
  17. public int anyInt { get; set; }
  18. }

Решение задачи: «Получить класс по строковому имени»

textual
Листинг программы
  1.         class SomeClass
  2.         {
  3.             public int SomeProp { get; set; }
  4.         }
  5.  
  6.         Type genericListType = typeof(List<>);
  7.  
  8.         Type userType = Type.GetType("NAMESPACE.SomeClass");
  9.  
  10.         Type listTypeWithGenerics = genericListType.MakeGenericType(userType);
  11.  
  12.         List<SomeClass> list1 = (List<SomeClass>)Activator.CreateInstance(listTypeWithGenerics);
  13.         // или
  14.         dynamic list2 = Activator.CreateInstance(listTypeWithGenerics);

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


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

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

8   голосов , оценка 4.5 из 5

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

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

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