我想使用Activator.CreateInstance实例化类的一个对象。因此,我有一个ASP.Net MVC项目,其中我有一个名为Modal的文件夹,在这个文件夹下,我有一个类TestClass.cs。
现在我有了另一个类库项目。因此,我在类库项目的一个类中编写了实例化登录,并在我的主.dll MVC项目中复制了ASP.Net文件。
现在,从我的主要项目中,我请求最近添加类库项目通过传递类的FullyQualified名称来创建类的对象。
例:
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;
}
}
}`
现在,我构建了类库项目,并添加了对我的ASP.Net MVC项目的引用,并尝试创建对象。
CreateInstance instance = new CreateInstance();
var NewObject = instance.GetClass("MyProject.Modal.TestClass");打完电话后,我就异常了
Type ClassName = Type.GetType(FullyQualifiedName);在这一行中,只有我无法得到我所要求的类的类型。
请帮帮忙。提前谢谢。
发布于 2017-10-30 09:02:29
你可以试试这个:
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
https://stackoverflow.com/questions/47010115
复制相似问题