可能重复:
通过反射检测可空类型
我有这个代码:
string type = string.Empty;
PropertyInfo[] propertyInfos = typeof(T).GetProperties();
foreach (var item in propertyInfos)
if (item.Name.ToUpper() == searchField.ToUpper())
{
type = item.PropertyType.FullName;
break;
}
switch (type)
{
case "System.Int32":
//...
break;
case "System.Single":
//...
break;
}
代码有效,但问题是类型何时可以为空。如何知道类型是否可以为空?可空类型(int32?long?double?)以及如何将字符串转换为可空类型?
谢谢,