Je récupère propertyInfos
d'un type donné.System.NotSupportedException: '' DataSet 'prend en charge pas System.Nullable <>
Lorsqu'une propriété est de type Nullable<int>
alors je ne peux pas ajouter le type de propriété à la collection dataTable.columns
parce que je reçois une exception:
System.NotSupportedException: '' DataSet » ne soutient pas 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);
}
}
Que dois-je changer dans le si article pour le faire fonctionner?
J'ai déjà ajouté null
ou DBNull
à la collection mais cela n'a pas aidé ?!
Avez-vous essayé juste int? int est aussi un type. Vous pouvez déboguer et rechercher les types que vous obtenez lors de l'itération de vos propriétés. Ainsi, vous pouvez reconnaître à quel type vous devez comparer. Lorsque votre propriété provient de Nullable, vous pouvez rechercher typeof (int?), Puis obtenir le type sous-jacent via 'Type yourIntType = Nullable.GetUnderlyingType (prop.PropertyType);' –
Bagerfahrer
[Convertir liste générique/Enumerable en DataTable?] (Https : //stackoverflow.com/a/5805044/3110834) –