주어진 유형에서 propertyInfos
을 검색 중입니다.System.NotSupportedException : ''DataSet '이 (가) System.Nullable을 지원하지 않음 <>
System.NotSupportedException : 속성 유형
Nullable<int>
의 경우 나는 예외가 있기 때문에그때는
dataTable.columns
컬렉션에 속성 유형을 추가 할 수 없습니다 ''데이터 집합 ' 선택 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로 시도해 봤어? int는 또한 유형입니다. 당신은 당신의 속성을 반복하는 동안 당신이 얻고있는 타입을 디버그하고 볼 수 있습니다. 따라서 어떤 유형을 비교해야 하는지를 인식 할 수 있습니다. 귀하의 속성이 Nullable에서 왔을 때 typeof (int?)를 확인한 다음 'type yourIntType = Nullable.GetUnderlyingType (prop.PropertyType);을 통해 기본 유형을 가져올 수 있습니다. –
Bagerfahrer
[일반 목록/열거 가능 항목을 DataTable로 변환 하시겠습니까?] (https : //stackoverflow.com/a/5805044/3110834) –