首页 新闻 会员 周边

如何实例话这样一个接口??

1
悬赏园豆:50 [已解决问题] 解决于 2010-09-08 10:44

一个项目A,实现了另一个项目B的一个接口。
而项目A又引用一个dll文件,dll文件中如何实现B的接口,使得和A是同一个对象?

问题补充: 这么理解: 项目A中这个实现了接口的类C。如何传递到项目A中引用的dll文件中。 使得不需要新什么一个C变量。 ----------------------------- 如何给dll中的变量赋值。
kingab的主页 kingab | 初学一级 | 园豆:135
提问于:2010-09-07 12:36
< >
分享
最佳答案
0

通过“反射”!

可以给dll中的变量和方法重新设定值。

收获园豆:50
kingab520 | 菜鸟二级 |园豆:335 | 2010-09-08 10:44
thanks
kingab | 园豆:135 (初学一级) | 2010-09-08 10:44
谢谢提示..
kingab | 园豆:135 (初学一级) | 2010-09-08 10:45
其他回答(3)
0

.net 的话,可以用部分类 来实现

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-09-07 12:39
0

dll 中引用B不可以吗?

eaglet | 园豆:17139 (专家六级) | 2010-09-07 12:43
是引用B了,但是,B中只提供接口。 具体的实现在A中。 dll文件想引用这个接口。即A中实例化的类。
支持(0) 反对(0) kingab | 园豆:135 (初学一级) | 2010-09-07 12:55
请问,如何将A中的此对象传递给dll?
支持(0) 反对(0) kingab | 园豆:135 (初学一级) | 2010-09-07 13:39
dll 中的类提供一个B 接口类型的 public 属性,A调用dll中这个类时,将A中B接口实现类的实例赋值给dll 中的类实例就可以了。
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2010-09-07 13:57
A在调用dll时,是通过反射机制实现的。 Object ojForm =ass.CreateInstance(typename) 却不能给ojForm赋值。
支持(0) 反对(0) kingab | 园豆:135 (初学一级) | 2010-09-07 14:32
typename 实现一个接口,这个接口在dll 中声明,然后 ((Interface)ojFrom).YourProperty = xxx,这样就可以了。
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2010-09-07 18:35
typename没有实现接口。 而只是在typename中声明了接口。 public InterfaceA ia;
支持(0) 反对(0) kingab | 园豆:135 (初学一级) | 2010-09-07 19:14
我是说你定义一个另外的接口, typename 实现这个接口,这个接口就是为了传值用。
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2010-09-08 07:37
0

你在DLL中引用B,然后调用的时候先将项目A中的C传递过去,在DLL以接口对象的形式接收C,然后再继续执行。

kyo-yo | 园豆:5587 (大侠五级) | 2010-09-07 13:15
如何传递了??
支持(0) 反对(0) kingab | 园豆:135 (初学一级) | 2010-09-07 13:16
@kingab:比如构造函数里 public class1(IB ib) { }
支持(0) 反对(0) kyo-yo | 园豆:5587 (大侠五级) | 2010-09-07 14:20
你好,我是想给dll的变量赋值。
支持(0) 反对(0) kingab | 园豆:135 (初学一级) | 2010-09-07 16:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册