Pour ce qui est des tableaux, il y a une propriété IsArray au niveau du PropertyType
bool isArray = propInfo.PropertyType.IsArray;
Pour les collections, tu peux regarder si le type implémente les interfaces ICollection et/ou IEnumerable. Par exemple
1 2 3
| Type[] t = propInfo.PropertyType.FindInterfaces(
delegate(Type typeObj, Object criteriaObj) { return typeObj.ToString() == criteriaObj.ToString(); },
"System.Collections.ICollection"); |
Si t n'est pas vide, alors le type implémente ICollection.
Tu peux indiquer plusieurs interfaces à rechercher, il faut modifier la méthode anonyme à ce moment, car criteriaObj ne sera plus une chaîne mais un tableau.
Partager