如何在对象上调用Nullable.GetUnderlyingType? Nullable.GetUnderlyingtype和.GetType有什么区别

时间:2012-02-16 17:15:14

标签: .net nullable

我想了解Nullable.GetUnderlyingType()的用法。什么时候应该使用?

此外,在以下示例中,我们如何使用GetUnderlyingType而不是GetType

    int? x = 1;
    Console.WriteLine(x.GetType().Name);

我试图关注Whats the use of Nullable.GetUnderlyingType, if typeof(int?) is an Int32?链接,但我一直在抓挠。

1 个答案:

答案 0 :(得分:0)

假设您通过反射获得了类的属性(称之为vProp),则以下内容应该有效:

Type tNullType = Nullable.GetUnderlyingType(vProp.PropertyType);
Type tType = tNullType ?? vProp.PropertyType;

tType将返回您可以用于转换或其他类似操作的实际属性类型,无论是否为Nullable。