Office中国论坛/Access中国论坛

标题: 【探索】原来C#也有隐式转换 [打印本页]

作者: 寂静岭    时间: 2014-3-25 23:14
标题: 【探索】原来C#也有隐式转换
本帖最后由 寂静岭 于 2014-3-25 23:20 编辑
  1.     class A
  2.     {
  3.         public A()
  4.         {
  5.         }
  6.     }
  7.     class B
  8.     {
  9.         public static implicit operator A(B b)
  10.         {
  11.             return new A();
  12.         }
  13.     }
  14.     class Program
  15.     {
  16.         static void Main(string[] args)
  17.         {
  18.             B b = new B();
  19.             A a = b;     // 注意这里,由于B类型有A类型的隐式转换实现,因此编译通过无压力
  20.             
  21.         }
  22.     }
复制代码




大家可以输入如下代码体会一下,以后返回引用的时候,如果该类型含有隐式转换重载,那么可以直接返回重载操作符的入参类型。
这样可以极大的减少 某函数 return new A(b); 这样的复杂写法



作者: ycs89412    时间: 2014-9-1 14:54
顶一个~~~~~~~~~~~~~~




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3