此idea是由我处理一个帖子的时候突然蹦出来的,感觉可能有的朋友需要,就将我的回复帖在我的blog,由于时间问题,我没有写中文版的,而是直接用的英文,希望大家见谅,不过代码会告诉大家我的思路,其实也没多少可以解释的,我认为这只是一个小技巧罢了。

I use the Implicit Conversion Operator to help us do the similar things as we inherit from the Boolean type, but MyBool type is not a Boolean type.

And then we can override some methods like Equal method, ToString method and so on.

class TestProgram
{static void Main(string[] args){MyBool mb = true;mb.PrintMessage("hello MyBool DataType!");Console.WriteLine(mb.ToString());Console.ReadLine();}
}
public class MyBool
{private bool myBool;public MyBool() { }public MyBool(bool b) {myBool = b;}// implicit bool to MyBool conversion operatorpublic static implicit operator MyBool(bool b) {      return new MyBool(b); // implicit conversion}// implicit MyBool to bool conversion operatorpublic static implicit operator bool(MyBool mb) {return mb.myBool; // implicit conversion}public void PrintMessage(string msg) {Console.WriteLine(msg);}public string ToString() {return myBool.ToString();}
}

大家有兴趣的话,可以点击下面的链接进入论坛原帖:
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/a7ca771d-394d-4a5a-b1f7-4c6729cf50cd/

PS:我的同事开发了一个MSDN论坛的小工具,有兴趣的朋友可以试试,此工具已开始在国内推行:

转载于:https://www.cnblogs.com/telnet_mike/archive/2011/01/23/create_MyBool_data_type_by_implicit.html

借用implicit创建我们自己的布尔数据类型-create MyBool data type by implicit相关推荐

  1. Oracle 12C 新特性之扩展数据类型(extended data type)

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...

  2. js布尔类型+数字判断_C ++中的布尔数据类型

    js布尔类型+数字判断 In this article, we'll take a look at the Bool datatype in C++. 在本文中,我们将介绍C ++中的Bool数据类型 ...

  3. mysql布尔数据类型_MySQL数据类型

    在本教程中,您将了解MySQL数据类型以及如何在MySQL中设计数据库时有效地使用它们. 数据库表包含具有特定数据类型(如数字或字符串)的多个列. MySQL提供更多的数据类型,而不仅仅是数字或字符串 ...

  4. python创建字典型数据_Python数据类型之字典dict

    # 字典是一种可变容器类型,可存储任意类型对象 # 字典以键值对存储数据,key-value形式,键值之间使用冒号:分隔,每个键值中间用逗号,分隔 # 字典包含在大括号,花括号{}中 # python ...

  5. oracle布尔true 1,将.NET布尔数据类型映射到实体框架中的oracle数(1,0)会抛出错误

    将.NET布尔数据类型映射到.edmx文件中的oracle号(1,0)会抛出以下错误. Error 2019: Member Mapping specified is not valid. The t ...

  6. R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用is.data.frame函数查看数据对象是否是dataframe数据

    R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象.使用is.data.frame函数查看数据对象是否是dataframe数据 目录 R语言使用多个数据类型不同的向量数据创建一个d ...

  7. python中的数据类型有哪些是可阅读_Python list data type(list)[学习Python的必要基础知识][阅读本文],列表,数据类型,必备,看此,一篇,就够,了...

    您的"关注"和"点赞",是信任,是认可,是支持,是动力- 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 Python ...

  8. SAP UI5 数据类型(data type) 学习笔记

    SAPUI5 中的数据类型用作验证用户输入的机制(例如,"hello"不是订单数量的可接受值),并确保数据在 UI 上被正确格式化和显示(例如将 1234567 显示为 1,234 ...

  9. SAP UI5 应用开发教程之五十三 - 如何自定义 SAP UI5 数据类型(Data Type)试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  10. 【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE

    [12c]扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE [12c]扩展数据类型(Extended Data Types)-- MAX_STRING_SIZ ...

最新文章

  1. 如何利用扬声器构建深度学习网络?
  2. 中国桑叶市发展态势分析与前景动态预测报告场2022-2028年版
  3. 转: MinGw离线安装方法集合
  4. iphone双卡_满屏的iPhone12评测来了,看哪个不重要,买哪个才重要|iphone|国行|iphone12...
  5. 一步步实现SDDC-逻辑交换与逻辑路由
  6. 双酚基CE树脂行业调研报告 - 市场现状分析与发展前景预测
  7. MySQL安装目录分类_分类 安装 下的文章
  8. 校园网免认证登录基于DNS伪装包
  9. matlab LSB算法的三种改进
  10. python redis.exceptions.ConnectionError
  11. selectpicker的使用方法
  12. [latex]{elsarticle}爱思唯尔模版的介绍与技术总结
  13. mysql减五元,[MySQL]處理字元編碼的一些心得
  14. python matplotlib 绘制K线图(蜡烛图)
  15. 微信第三方授权登录并在h5中发起支付
  16. 第二部分 区块链的应用
  17. 50个查询系列-第三个查询:查询所有同学的学号、姓名、选课数、总成绩;
  18. 整理:RelativeLayout的相关属性
  19. Word排版——插入新公式||公式由斜式变横式
  20. 第二十二天php反序列化问题

热门文章

  1. No package ‘libpeas-1.0‘ found/No package ‘libpeas-gtk-1.0‘
  2. 随便一个人就能干预大选?
  3. 纽微特纪事:傅某为何要内斗吾?各位应该注意什么?
  4. 一个词三个功能,较真人员少啊
  5. 不宜佩带佛像,宜佩带佛号、咒语
  6. C++错误解决办法:pure virtual method called
  7. 匈牙利算法求最大匹配
  8. log 日志 php tp5,TP5自定义日志记录到文件方法
  9. C# pictureBox桌面大小自适应 大小自适应 窗体居中
  10. selenium安装包_??《手把手教你》系列基础篇之1-python+ selenium自动化测试-环境搭建(详细)...