我想使用Activator实例化一个类的对象。CreateInstance
。所以,我有一个ASP.Net MVC项目,我有一个名为Modal的文件夹,在其下我有一个类TestClass.cs
。
现在我有另一个类库项目。所以我在我的类库项目的一个类中编写了实例化登录,并将.dll
文件复制到我的主ASP.Net MVC项目中。
现在,从我的主项目中,我请求我最近添加的类库项目,通过传递我的类的FullyQualified名称来创建类的对象。
EX:
ASP.Net MVC项目
------------------------------
`
namespace MyProject.Modal
{
public class TestClass
{
public TestClass()
{
}
}
}
`
`
namespace SpringNet.FactoryContext
{
public class CreateInstance
{
public Object GetClass(string FullyQualifiedName)
{
Object NewClassType = null;
Type ClassName = Type.GetType(FullyQualifiedName);
NewClassType = Activator.CreateInstance(ClassName);
return NewClassType;
}
}
}
`
CreateInstance instance = new CreateInstance();
var NewObject = instance.GetClass("MyProject.Modal.TestClass");
打电话给我之后我得到了异常
Type ClassName = Type.GetType(FullyQualifiedName);
在这一行只有我无法获得我要求的类型。
请帮忙。 提前谢谢。
答案 0 :(得分:0)
你可以尝试这个:
namespace SpringNet.FactoryContext
{
public class CreateInstance
{
public Object GetClass(string assemblyName,string className)
{
return Activator.CreateInstance(assemblyName, className);
}
}
}
然后
CreateInstance instance = new CreateInstance();
var NewObject = instance.GetClass("MyProject", "MyProject.Modal.TestClass");
已更新:为什么Type.GetType返回null