Maison > développement back-end > C++ > Comment puis-je récupérer efficacement des propriétés avec un attribut spécifique en C# ?

Comment puis-je récupérer efficacement des propriétés avec un attribut spécifique en C# ?

Barbara Streisand
Libérer: 2024-12-27 22:28:14
original
593 Les gens l'ont consulté

How Can I Efficiently Retrieve Properties with a Specific Attribute in C#?

Comment récupérer efficacement des propriétés avec des attributs spécifiques

Considérez la tâche consistant à obtenir une liste de propriétés publiques au sein d'un type spécifié qui possèdent un attribut, appelé MyAttribute. Cet attribut est défini avec AllowMultiple défini sur false, indiquant que chaque propriété peut posséder au plus une instance de l'attribut.

Une approche courante consiste à parcourir les propriétés à l'aide de GetProperties() et à vérifier chaque propriété pour la présence de MonAttribut via GetCustomAttribute[s]. Cependant, cette technique peut s'avérer sous-optimale.

Présentation d'une solution plus efficace

Pour optimiser ce processus de récupération, considérez l'extrait de code suivant :

var props = t.GetProperties().Where(
                prop => Attribute.IsDefined(prop, typeof(MyAttribute)));
Copier après la connexion

Cette approche améliorée utilise la méthode d'extension Where pour filtrer la liste des propriétés, en sélectionnant uniquement celles pour lesquelles l'attribut MyAttribute est défini. Cette technique est plus efficace car elle évite d'instancier des instances d'attribut pour des propriétés qui ne possèdent pas l'attribut souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal