gpt4 book ai didi

c# - 如何通过反射获取可空类型的值

转载 作者:可可西里 更新时间:2023-11-01 08:16:50 36 4
gpt4 key购买 nike

我需要使用反射来检索 Nullable Type of DateTime 的属性值

我该怎么做?

当我尝试 propertyInfo.GetValue(object, null) 时,它不起作用。

谢谢

我的代码:

 var propertyInfos = myClass.GetType().GetProperties();

foreach (PropertyInfo propertyInfo in propertyInfos)
{
object propertyValue= propertyInfo.GetValue(myClass, null);
}

对于可为 null 的类型,propertyValue 结果始终为 null

最佳答案

反射和Nullable<T>有点痛;反射使用 object , 和 Nullable<T>object 有特殊的装箱/拆箱规则.所以当你有一个object不再 Nullable<T> - 它是 null值(value)本身

int? a = 123, b = null;
object c = a; // 123 as a boxed int
object d = b; // null

这有时会让人有点困惑,并且请注意,您无法获得原始的 T来自空Nullable<T>已装箱,因为您只有一个 null .

关于c# - 如何通过反射获取可空类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194465/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com