通过reflection / typename实例化generics类
例如,我有一个类,看起来像:
public class Repository { public IEnumerable FindAll() { // } }
我希望能够做的是通过reflection创建一个Repository实例。
例如:
var typeName = "Customer" var type = Assembly.GetCallingAssembly().GetType(typeName); //obviously, this isn't valid... var repository = new Repoistory();
沿着这些方向的事情可能吗?
var repository = Activator.CreateInstance(typeof(Repository<>).MakeGenericType(type));