implicit关键字做自定义类型隐式转换的方法
2015-08-06 16:09
495 查看
隐式转换可以通过消除不必要的类型转换来提高源代码的可读性。但是,因为隐式转换不需要程序员将一种类型显式强制转换
为另一种类型,所以使用隐式转换时必须格外小心,以免出现意外结果。一般情况下,隐式转换运算符应当从不引发异常并且
从不丢失信息,以便可以在程序员不知晓的情况下安全使用它们。
在C#中,implicit关键字可以用来做自定义类型隐式转换。下面给个例子来说明。
定义一个Point类,表示一个点:
复制代码 代码如下:public class Point
{
public double X { get; set; }
public double Y { get; set; }
}
再在Point类中定义一个静态方法,用于由字符串隐式转换为Point类型:
public class Point { public double X { get; set; } public double Y { get; set; } public static implicit operator Point(string constValue) { var result = new Point(); try { var arPoint = constValue.Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries); result.X = Convert.ToDouble(arPoint[0]); result.Y = Convert.ToDouble(arPoint[1]); } catch { result.X = 0; result.Y = 0; } return result; } }
使用的过程非常简单,就跟我们平时的隐式转换一样:
复制代码 代码如下:Point p = "3,4.5";
Console.WriteLine("X:{0}, Y:{1}", p.X, p.Y);
注意,尽量隐式转换过程中不会出错,或者能处理异常情况。否则请使用explicit变为强制转换。
以上就是implicit关键字做自定义类型隐式转换的方法,希望对大家有所帮助。
您可能感兴趣的文章:
相关文章推荐
- C#实现自定义双击事件
- MFC自定义消息的实现方法
- C#实现ProperTyGrid自定义属性的方法
- php自定义错误处理用法实例
- ThinkPHP中自定义目录结构的设置方法
- C#自定义事件及用法实例
- C#中使用IFormattable实现自定义格式化字符串输出示例
- javascript 自定义常用方法第1/2页
- 自定义jQuery插件方式实现强制对象重绘的方法
- jQuery实现自定义checkbox和radio样式
- jquery自定义插件开发之window的实现过程
- jQuery实现自定义事件的方法
- jQuery创建自定义的选择器用以选择高度大于100的超链接实例
- 教你如何自定义百度分享插件以及bshare分享插件的分享按钮
- Jquery 自定义动画概述及示例
- python 判断自定义对象类型
- 第七章 php自定义函数实现代码
- list泛型自定义排序示例
- .NET基础之自定义泛型分析
- asp.net中c#自定义事件的实现方法详解