在命名空间中,我有任意数量的类来实现接口IModel。给定一个类的名称作为字符串,我想实例化该类并将结果对象存储在IModel类型的变量中。
由于我没有反思经验,所以我没弄明白该怎么做。
答案 0 :(得分:1)
您可以查看Activator.CreateInstance。
答案 1 :(得分:1)
这里不需要反思 - 使用Activator
IModel model = (IModel)Activator.CreateInstance(Type.GetType(typeName));
答案 2 :(得分:1)
有很多方法可以做到这一点。我做了以下事情:
Type t = Type.GetType("<name of class>");
IModel m = (IModel)Activator.CreateInstance(t); // assuming constructor has no parameters