Получить класс по строковому имени - 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);