【问题标题】:Reflection and Nullable<T>反射和可空<T>
【发布时间】:2022-07-13 22:01:01
【问题描述】:

每当我在 Nullable 属性上调用 PropertyInfo.GetValue 时,我都会获得可空结构的实际值,而不是结构本身。为什么?它是融入语言并且仅适用于 Nullable 类型还是自定义类可以与其他类型具有相同的东西。

【问题讨论】:

标签: c#


【解决方案1】:

因为PropertyInfo.GetValue的返回类型是object,也就是说所有的值类型都装箱了

现在,Nullable types are boxed differently than other types

  • 带有HasValue == false 的可为空值将被装箱到null
  • HasValue == true 的可空值将像底层不可空类型一样被装箱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多