为了账号安全,请及时绑定邮箱和手机立即绑定

动态加载程序集问题

动态加载程序集问题

C#
慕婉清6462132 2018-12-12 10:05:37
<P>平常我们要实例化一个类只要,ClassA a=new ClassA()就可以,<BR>而使用动态加载程序集里的方法就必须通过如下的方式:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P> <P>var ass = Assembly.LoadFrom(Path.Combine(Environment.CurrentDirectory, "OICF.CustomImplement.dll"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var type = ass.GetType("OICF.CustomImplement.HTMLHelper");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var method = type.GetMethod("GetSourced");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object o = Activator.CreateInstance("OICF.CustomImplement", "OICF.CustomImplement.HTMLHelper").Unwrap();<BR>我的问题是,有没有方法当我动态加载了Assembly后,就可以以前一样,ClassA a=new ClassA()这样的形式来实例化对象,并调用方法</P>
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

Class A 这种写法是编译时就已经确定的类型,既然你的程序庥还没有加载怎么编得过去呢~~~ 最多只能InterfaceA a = .... 用运行时多态.


查看完整回答
反对 回复 2018-12-16
?
千万里不及你

TA贡献1784条经验 获得超9个赞

Of course no way, at least not in C# 3.0 or earlier version.

查看完整回答
反对 回复 2018-12-16
  • 2 回答
  • 0 关注
  • 506 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信