日期:2014-05-20  浏览次数:20916 次

如何隐式转换接口为类型?
public   static   implicit   operator   AnyClassType(System.Data.IDataReader   _SourceDataReader)
                {
                AnyClassType   ccc   =   new   AnyClassType();
                          ........
                          ........
                        return   ccc;
                }
以上代码编译后报错,
如何正常隐式转换   _SourceDataReader   为  
AnyClassType

------解决方案--------------------
to 如何正常隐式转换 _SourceDataReader 为 AnyClassType

用is 或 as

不過你的問題好像和你的程序沒有一點關系。
------解决方案--------------------
看你的代碼應該是
AnyClassType ccc = new AnyClassType();
經過處理後
System.Data.IDataReader _SourceDataReader = new System.Data.IDataReader(); 這句不可以定義的.
System.Data.IDataReader _SourceDataReader = new AnyClassType();

System.Data.IDataReader _SourceDataReader = (System.Data.IDataReader)ccc ;

------解决方案--------------------
隐式转换一般用as,隐式转换 _SourceDataReader 为 AnyClassType,必须有个前提,AnyClassType实现了继承于接口IDataReader,否则肯定报错。。。。
------解决方案--------------------
实现了某个接口的类可以隐式转换成该接口

接口到类则必须显示转换