gpt4 book ai didi

c# - 从 Nullable 类型反射获取 PropertyType.Name

转载 作者:可可西里 更新时间:2023-11-01 08:51:49 24 4
gpt4 key购买 nike

我想使用反射获取属性类型。这是我的代码

var properties = type.GetProperties();
foreach (var propertyInfo in properties)
{
model.ModelProperties.Add(
new KeyValuePair<Type, string>
(propertyInfo.PropertyType.Name,
propertyInfo.Name)
);
}

这段代码 propertyInfo.PropertyType.Name 没问题,但是如果我的属性类型是 Nullable 我得到这个 Nullable'1 字符串,如果写FullName 如果得到这个 stirng System.Nullable1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

最佳答案

更改您的代码以查找可空类型,在这种情况下将 PropertyType 作为第一个通用参数:

var propertyType = propertyInfo.PropertyType;

if (propertyType.IsGenericType &&
propertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
{
propertyType = propertyType.GetGenericArguments()[0];
}

model.ModelProperties.Add(new KeyValuePair<Type, string>
(propertyType.Name,propertyInfo.Name));

关于c# - 从 Nullable 类型反射获取 PropertyType.Name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14910584/

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