怎么将内对象的接口公布出去???interface Iinner
{
void innerFuction();
}class innerClass:Iinner
{
.....
}interface IOuter
{
void OuterFuction();
}class outerClass:IOuter
{
innerClass in = null;
public outerClass
{
in = new innerClass();
}
//?????
}//使用
class myClass
{
void function1()
{
outerClass out = new outerClass();
IOuter iOut = out as IOuter;
iOut.OuterFuction(); //OK Iinner iInner = out as IOuter;//如何实现该功能???
}
}As操作符好象不能重载!!!原来在Com中好象重载QueryInterface就可以了,这样IOuter究竟是那个对象实现对使用者是透明的.
{
void innerFuction();
}class innerClass:Iinner
{
.....
}interface IOuter
{
void OuterFuction();
}class outerClass:IOuter
{
innerClass in = null;
public outerClass
{
in = new innerClass();
}
//?????
}//使用
class myClass
{
void function1()
{
outerClass out = new outerClass();
IOuter iOut = out as IOuter;
iOut.OuterFuction(); //OK Iinner iInner = out as IOuter;//如何实现该功能???
}
}As操作符好象不能重载!!!原来在Com中好象重载QueryInterface就可以了,这样IOuter究竟是那个对象实现对使用者是透明的.
解决方案 »
- 为什么AutoResetEvent变量不能传递给线程?
- 如何根据字符串动态创建一个对像?
- 如何让 dateTimePicker 只显示日期 不显示星期
- 请问如何office开发中获得excel的单元格索引的名称?
- 返回指定length字符串的问题
- 问一个不小的问题,三个月了都还没解决,网上到处都找不到资料,(是关于自定义窗体的).不知道"思归","孟子"之类的高手在不,望能帮上我
- 请教VS2005如何连接sqlserver2005
- 关于多线程程序在调试环境下运行的CPU占有率问题
- 在线等待:如何整体修改一个项目中所有的窗体控件样式?谢谢
- c#中cookies怎样使用?
- 怎么制作卸载程序
- 请问怎么一次向串口里面发送7个字节
class outerClass:IOuter, IinnerClass
哈哈,我知道是错误的,就是想问怎样才能让它变成正确???
要是class outerClass:IOuter, IinnerClass,太麻烦了(特别是接口很多的时候),有没有其他办法??????????????
{
//
}使用:
Iinner iInner = (Iinner) out;
按你说的出现下列错误:
User-defined conversion must convert to or from the enclosing type怎么回事情?
.net下没必要这么复杂
直接继承两个接口不就行了
我也试出来了,对接口不行,对类可以!!(对 enclosing type没有明白是什么意思?)to hdt(倦怠),
"直接继承两个接口不就行了",假如接口很多的话,很麻烦的.
"或者使用普通的面向语言的方式不就行了,类似于桥接",不明白怎么做,能说详细点吗??
.net平台的程序都是基于公共语言的,不存在使用它的理由。我说的桥接类似于这样
public class inner
{
public void test()
{}
}
public class outer
{
inner _in;
void test()
{
_in.test();
}
}