加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#mvc从字符串名称动态创建控制器 – eval?

发布时间:2020-12-16 10:38:56 所属栏目:百科 来源:网络整理
导读:我想通过字符串名称创建一个控制器的新实例.在经典ASP中我会做一个eval,但是如何在c#中做到这一点? 例如: 如果我想创建一个“AccountController”的实例,通常我会写: var Acc = new AccountController(); 现在,如果控制器名称仅作为字符串提供,我该如何实
我想通过字符串名称创建一个控制器的新实例.在经典ASP中我会做一个eval,但是如何在c#中做到这一点?

例如:

如果我想创建一个“AccountController”的实例,通常我会写:

var Acc = new AccountController();

现在,如果控制器名称仅作为字符串提供,我该如何实例化该对象?

例如,

var controllerName = "AccountController";

var acc = new eval(controllerName)();

感谢您的任何帮助!

坦率

解决方法

如果您的控制器在程序集中,您只需要一个类名,否则您需要一个完全限定的名称(命名空间和程序集).你会用反射来做.就像是:

Type t = Type.GetType("NameOfController");
var  c = Activator.CreateInstance(t);

还有其他方法,但都涉及反射(System.Reflection).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读