NET 判断类型是否为可空类型


可控类型本质上是泛型,所以可以先判断是否为泛型,在判断是否为:Nullable

        /// 
        /// 是否为 可空类型
        /// 
        /// 
        /// true ? 是-可空类型 : 不是-可空类型
        public static bool IsNullableType(this Type type)
        {
            //  可空类型的类型为:Nullable
            if (type.IsGenericType)
            {
                var definition = type.GetGenericTypeDefinition();

                if (definition != null && definition == typeof(Nullable<>))
                {
                    return true;
                }
                else
                    return false;
            }
            else
                return false;
        }