[求助]可以在vc.net中引用c#编写的dll并继承里面的类或接口吗?
目前公司开发的主框架程序需要调用某些dll,而这些dll都提供相同的接口,
一些dll要用c#实现,另外一些可能用托管c++实现,所以我想将"接口interface"
(c#中的"接口interface"应该对应c++的抽象基类,托管c++就不是很清楚了)
封装在一个dll中(c#编写),让其他实现该接口的类去继承它,
那么我想问,托管c++中可以引用并继承里面的类或接口吗?
问题点数:30、回复次数:7Top
1 楼lj915(. ) 烦!烦!烦!( .)回复于 2006-03-13 12:47:50 得分 0
自己顶!Top
2 楼onlyxuyang()回复于 2006-03-13 12:54:01 得分 5
应该可以吧Top
3 楼lj915(. ) 烦!烦!烦!( .)回复于 2006-03-13 17:08:17 得分 0
upTop
4 楼lj915(. ) 烦!烦!烦!( .)回复于 2006-03-13 17:22:25 得分 0
找到答案了,在托管c++中是可以引用一个c#写的dll然后继承里面定义的接口的。
开贴了一天,还是没人回复。。。看来自己动手是免不了的了,呵呵。。。Top
5 楼lj915(. ) 烦!烦!烦!( .)回复于 2006-03-13 17:24:13 得分 0
不过不明白的是,在c++.net中,一个类继承了一个接口,然后在类中并没有实现接口中定义的方法,编译的时候居然没有报错。。。在c#中是编译不过去的。。。
到底是怎么回事呢?Top
6 楼lhx1977(清水无鱼)回复于 2006-03-13 17:25:40 得分 25
.net平台上的写的类库的使用方法,是不会语言的。
C#可以继承其它任何一个.net平台上写的类库。
包括delphi.net
Top
7 楼lj915(. ) 烦!烦!烦!( .)回复于 2006-03-13 17:49:14 得分 0
其实我问这个问题,住要是标准c++里面并没有c#里的“接口”这种类型,对应的应该是抽象基类。
而托管c++我又不熟悉,所以就想了解一下c#写的接口是否可以在托管c++里被继承。
但为什么在c#里,一个类继承了一个接口,如果没有实现接口中定义的方法等在编译的时候是通不过的,而托管c++中却不会...等到将类实例化的时候就会出现错误"无法实例化抽象类或接口"这个编译错误...这样如果这个类是在一个别人写的dll,而自己又无法修改这个dll里面的类代码的时候就麻烦了...Top




