码迷,mamicode.com
首页 > 其他好文 > 详细

利用implicit关键字做自定义类型隐式转换

时间:2015-08-06 12:58:38      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

    在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关键字做自定义类型隐式转换

标签:

原文地址:http://www.cnblogs.com/huatao/p/4707556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!