【发布时间】:2022-07-13 22:01:01
【问题描述】:
每当我在 Nullable 属性上调用 PropertyInfo.GetValue 时,我都会获得可空结构的实际值,而不是结构本身。为什么?它是融入语言并且仅适用于 Nullable 类型还是自定义类可以与其他类型具有相同的东西。
【问题讨论】:
标签: c#
每当我在 Nullable 属性上调用 PropertyInfo.GetValue 时,我都会获得可空结构的实际值,而不是结构本身。为什么?它是融入语言并且仅适用于 Nullable 类型还是自定义类可以与其他类型具有相同的东西。
【问题讨论】:
标签: c#
因为PropertyInfo.GetValue的返回类型是object,也就是说所有的值类型都装箱了。
现在,Nullable types are boxed differently than other types:
HasValue == false 的可为空值将被装箱到null 和HasValue == true 的可空值将像底层不可空类型一样被装箱。【讨论】: