首页 > Windows开发 > 详细

c# 类型转换函数

时间:2015-01-26 16:57:59      阅读:235      评论:0      收藏:0      [点我收藏+]

c#中有统一的类型转换函数

Convert.ChangeType(object value, Type conversionType)

但是这个函数没有考虑到转换null, DBNull, Nullable<>, Enum这些类型

下面通过扩展ChangeType来实现上述类型的转换

        public static object Convert(object value, Type conversionType)
        {
            if (value == null || value is DBNull)
                return null;
            if (conversionType.IsInstanceOfType(value))
                return value;
            if (conversionType.IsEnum)
            {
                var s = value as string;
                if (s != null)
                {
                    return Enum.Parse(conversionType, s);
                }
                return Enum.ToObject(conversionType, value);
            }
            var t = Nullable.GetUnderlyingType(conversionType) ?? conversionType;
            return System.Convert.ChangeType(value, t);
        }

  

 

c# 类型转换函数

原文:http://www.cnblogs.com/vuuvv/p/4250623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!