从字符串定义的类创建实例

时间:2014-05-14 08:44:45

标签: c# .net reflection

在命名空间中,我有任意数量的类来实现接口IModel。给定一个类的名称作为字符串,我想实例化该类并将结果对象存储在IModel类型的变量中。

由于我没有反思经验,所以我没弄明白该怎么做。

3 个答案:

答案 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