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