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). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |