博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#类型转换3
阅读量:5371 次
发布时间:2019-06-15

本文共 3401 字,大约阅读时间需要 11 分钟。

namespace WDBuyNET.DMSFrame.Utils{    public static class TypeExtentions    {        public static bool IsPrimitive(this Type t)        {            bool result;            if (t.IsGenericType)            {                result = (TypeExtentions.IsNullableType(t) && TypeExtentions.IsPrimitive(Nullable.GetUnderlyingType(t)));            }            else            {                bool arg_14F_0;                if (!(t == typeof(string)) && !(t == typeof(short)) && !(t == typeof(ushort)) && !(t == typeof(int)) && !(t == typeof(uint)) && !(t == typeof(long)) && !(t == typeof(ulong)) && !(t == typeof(float)) && !(t == typeof(double)) && !(t == typeof(decimal)) && !(t == typeof(char)) && !(t == typeof(byte)) && !(t == typeof(bool)) && !(t == typeof(DateTime)))                {                    arg_14F_0 = (t == typeof(Guid));                }                else                {                    arg_14F_0 = true;                }                result = arg_14F_0;            }            return result;        }        public static bool IsStringType(this Type type)        {            bool arg_80_0;            if (!(type == typeof(string)) && !(type == typeof(bool)) && !(type == typeof(DateTime)) && !(type == typeof(Guid)) && !(type == typeof(bool?)) && !(type == typeof(DateTime?)))            {                arg_80_0 = (type == typeof(Guid?));            }            else            {                arg_80_0 = true;            }            return arg_80_0;        }        public static bool IsBooleanType(this Type type)        {            return TypeExtentions.GetUnderlyingType(type) == typeof(bool);        }        public static bool AllowsNullValue(this Type type)        {            return !type.IsValueType || TypeExtentions.IsNullableType(type);        }        public static bool IsNullableType(this Type type)        {            return type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable);        }        public static Type GetUnderlyingType(this Type type)        {            return TypeExtentions.IsNullableType(type) ? Nullable.GetUnderlyingType(type) : type;        }        public static string Join(this string[] array, char splitChar)        {            StringBuilder stringBuilder = new StringBuilder();            for (int i = 0; i < array.Length; i++)            {                stringBuilder.Append(array[i]);                stringBuilder.Append(splitChar);            }            return stringBuilder.ToString().TrimEnd(new char[]            {                splitChar            });        }        public static object DefaultValue(this Type type)        {            return type.IsValueType ? Activator.CreateInstance(type) : null;        }        public static string MD5(this string text)        {            byte[] bytes = Encoding.Default.GetBytes(text);            MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider();            byte[] array = mD5CryptoServiceProvider.ComputeHash(bytes);            string text2 = "";            byte[] array2 = array;            for (int i = 0; i < array2.Length; i++)            {                byte b = array2[i];                text2 = ((b >= 16) ? (text2 + b.ToString("X")) : (text2 + "0" + b.ToString("X")));            }            return text2.ToLower();        }    }}

转载于:https://www.cnblogs.com/hongjiumu/archive/2012/09/15/2686622.html

你可能感兴趣的文章
CodeForces 776E 数学规律,欧拉
查看>>
CSS中position属性三大定位方式讲解
查看>>
Linux内核探索之路——关于书
查看>>
05 JDK1.5 Lock锁
查看>>
20145339顿珠 《网络对抗技术》 信息搜集与漏洞扫描
查看>>
关于回调函数
查看>>
asp.net MVC4.0中几种控制器的区别
查看>>
要给出互联网解决社会性问题的步骤与方法
查看>>
二十八、在Android中实现程序前后台切换
查看>>
Shell_3 函数
查看>>
Django U2 模型
查看>>
如何css控制div始终在整个页面最底部
查看>>
rabbitmq 一些属性
查看>>
140201126-杨鹏飞-作业六
查看>>
DOM
查看>>
<Spark><Programming><Loading and Saving Your Data>
查看>>
RxJS学习笔记
查看>>
第十二章 Django框架——分页组件
查看>>
python使用rabbitMQ队列
查看>>
MYSQL的cmake编译单实例安装
查看>>