我从给定类型检索propertyInfos
。System.NotSupportedException:''DataSet'不支持System.Nullable <>
当属性是Nullable<int>
类型的话,我不能属性类型添加到收藏dataTable.columns
因为我得到一个异常:
System.NotSupportedException:“”数据集”支持不 System.Nullable < >“。
foreach (var prop in propertyInfos)
{
if (prop.PropertyType == typeof(int?))
{
dataTable.Columns.Add(prop.Name, prop.PropertyType);
}
else
{
dataTable.Columns.Add(prop.Name, prop.PropertyType);
}
}
,我应该怎么了,如果从句的改变,使其工作?
我已经将null
或DBNull
添加到收藏中,但这并没有帮助?!
你只是尝试诠释? int也是一个类型。您可以调试并查看迭代属性时获取的类型。所以你可以识别你需要比较哪种类型。当你的属性是可空您可以检查typeof运算,然后得到通过'类型yourIntType = Nullable.GetUnderlyingType(prop.PropertyType)的基本类型(INT);' –
Bagerfahrer
[?转换泛型列表/可枚举到数据表(HTTPS ://stackoverflow.com/a/5805044/3110834) –