如何从Type对象获取可空的Type对象

时间:2012-05-24 21:44:22

标签: c# .net

实施此方法的最佳方法是什么:

Type GetNullableTypeFromType(Type tp);

这样

Type tpString = GetNullableTypeFromType(typeof(string));   // Returns typeof(string)
Type tpInt = GetNullableTypeFromType(typeof(int));   // Returns typeof(int?)

1 个答案:

答案 0 :(得分:10)

public static Type GetNullableType(Type t)
{
    if (t.IsValueType && (Nullable.GetUnderlyingType(t) == null)) 
        return typeof(Nullable<>).MakeGenericType(t); 
    else
        return t;
}