首页 新闻 会员 周边

动态加载程序集问题

0
[已关闭问题]
<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>
lexus的主页 lexus | 初学一级 | 园豆:0
提问于:2008-07-07 12:55
< >
分享
其他回答(2)
0
Class A 这种写法是编译时就已经确定的类型,既然你的程序庥还没有加载怎么编得过去呢~~~ 最多只能InterfaceA a = .... 用运行时多态.
沙加 | 园豆:3680 (老鸟四级) | 2008-07-07 15:36
0
Of course no way, at least not in C# 3.0 or earlier version.
deerchao | 园豆:8367 (大侠五级) | 2008-07-09 00:36
0
如果使用remoting 好像可以
TG.Yang's IT Space | 园豆:45 (初学一级) | 2008-07-10 07:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册