设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3174|回复: 1

【探索】原来C#也有隐式转换

[复制链接]
发表于 2014-3-25 23:14:00 | 显示全部楼层 |阅读模式
本帖最后由 寂静岭 于 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); 这样的复杂写法


发表于 2014-9-1 14:54:27 | 显示全部楼层
顶一个~~~~~~~~~~~~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-28 21:24 , Processed in 0.137147 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表