Bonjour,
Exposé de ce que je veux faire:
> un DaTaGridView: mainDGV
> son DataSource: une liste d'objets de type T
> cet objet de type T comporte plusieurs propriétés (dont certaines peuvent être null)
j'aimerais faire un filtre basique avec n'importe quelle propriété du type de l'objet.
donc, j'ai ma ComboBox avec la liste des propriété du type
et un textbox pour la chaine à filtrée...
pour filtrer ma liste, je fais:
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 mainDGV.DataSource = maList.FindAll( p => p.GetType().InvokeMember( c.Name, BindingFlags.GetProperty, null, p, null ).ToString() .Contains( strToSearch ) );
le c.Name contient le nom de la propriété à appeler.
Ce code marche sur certaines propriétés qui ne sont pas null.
Malheureusement, ça peut arriver de tomber sur des propriétés non définie, et dans ce cas, InvokeMember renvoi Null et l'appel de ToString() renvoi NullReferenceException .
Comment je peux faire en sorte qu'aucune exception ne soit généré afin de pouvoir filtrer comme je le souhaite ?
Merci.
Partager