Получить класс по строковому имени - C#
Формулировка задачи:
Здравствуйте, перелопатил кучу информации, а ответ не нашёл, как получить класс по его строковому названию?
Листинг программы
- class Program
- {
- static void Main<T>(string[] args)
- {
- string className = "MyClass";
- var myClassType = Activator.CreateInstance(Type.GetType(className));
- var res = method<myClassType>();
- }
- public static List<T> method<T>()
- {
- return new List<T>();
- }
- }
- public class MyClass
- {
- public string anyString { get; set; }
- public int anyInt { get; set; }
- }
Решение задачи: «Получить класс по строковому имени»
textual
Листинг программы
- class SomeClass
- {
- public int SomeProp { get; set; }
- }
- Type genericListType = typeof(List<>);
- Type userType = Type.GetType("NAMESPACE.SomeClass");
- Type listTypeWithGenerics = genericListType.MakeGenericType(userType);
- List<SomeClass> list1 = (List<SomeClass>)Activator.CreateInstance(listTypeWithGenerics);
- // или
- dynamic list2 = Activator.CreateInstance(listTypeWithGenerics);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д