152 votes

Vérifier si la propriété a attribut

Partant d’une propriété dans une classe, avec des attributs - ce qui est le meilleur moyen de déterminer si elle contient un attribut donné ? Par exemple :

Quelle est la méthode la plus rapide de déterminer que, par exemple, il a l’attribut « IsIdentity » ?

261voto

Hans Passant Points 475940

Il n’y a aucun jeûne lors de l’extraction des attributs. Mais le code devrait ressembler à ce (crédit à Aaronaught) :

Si vous avez besoin récupérer les propriétés d’attribut puis

44voto

Darin Dimitrov Points 528142

Si vous utilisez .NET 3.5, vous pouvez essayer avec les arborescences d’Expression. Il est plus sûr qu’une réflexion :

12voto

Manish Basantani Points 4347

Vous pouvez utiliser une méthode commune (Générique) pour lire l’attribut sur un MemberInfo donné

7voto

Seb Points 38

Pour mettre à jour et/ou améliorer la réponse par @Hans Passant j’ai séparerait la récupération de la propriété dans une méthode d’extension. Cela a l’avantage d’enlever la chaîne magique méchante dans la méthode GetProperty()

Votre test est alors réduit à deux lignes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X