首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用类库从主MVC应用程序c#创建类的对象

问使用类库从主MVC应用程序c#创建类的对象
EN

Stack Overflow用户
提问于 2017-10-30 07:37:08
回答 1查看 873关注 0票数 1

我想使用Activator.CreateInstance实例化类的一个对象。因此,我有一个ASP.Net MVC项目,其中我有一个名为Modal的文件夹,在这个文件夹下,我有一个类TestClass.cs。

现在我有了另一个类库项目。因此,我在类库项目的一个类中编写了实例化登录,并在我的主.dll MVC项目中复制了ASP.Net文件。

现在,从我的主要项目中,我请求最近添加类库项目通过传递类的FullyQualified名称来创建类的对象。

例:

ASP.Net MVC项目

代码语言:javascript
复制
------------------------------
`
namespace MyProject.Modal
{
    public class TestClass
    {
        public TestClass()
        {
        }
    }
}
`

类库项目代码

`

代码语言:javascript
复制
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项目的引用,并尝试创建对象。

代码语言:javascript
复制
CreateInstance instance = new CreateInstance();
var NewObject = instance.GetClass("MyProject.Modal.TestClass");

打完电话后,我就异常了

  • Type ClassName = Type.GetType(FullyQualifiedName);

在这一行中,只有我无法得到我所要求的类的类型。

请帮帮忙。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-10-30 09:02:29

你可以试试这个:

代码语言:javascript
复制
namespace SpringNet.FactoryContext
{
   public class CreateInstance
   {        
     public Object GetClass(string assemblyName,string className)
     {
        return Activator.CreateInstance(assemblyName, className);
     }
   }
}

然后

代码语言:javascript
复制
 CreateInstance instance = new CreateInstance();
    var NewObject = instance.GetClass("MyProject", "MyProject.Modal.TestClass");

更新的:为什么Type.GetType返回null

Type.GetType("namespace.a.b.ClassName") returns null

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47010115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档