Maison > développement back-end > C++ > Comment puis-je obtenir efficacement une liste de propriétés avec un attribut spécifique non multiple ?

Comment puis-je obtenir efficacement une liste de propriétés avec un attribut spécifique non multiple ?

Barbara Streisand
Libérer: 2025-01-03 05:57:42
original
400 Les gens l'ont consulté

How Can I Efficiently Get a List of Properties with a Specific Non-Multiple Attribute?

Obtention d'une liste de propriétés avec un attribut spécifique

Afin de récupérer une liste de propriétés publiques qui possèdent un certain attribut marqué comme non- multiple (attribut AllowMultiple défini sur false), une approche courante consiste à parcourir les propriétés et à vérifier l'attribut présence.

foreach (var property in t.GetProperties())
{
    var attributes = property.GetCustomAttributes(typeof(MyAttribute), true);
    if (attributes.Length == 1)
    {
        // Property with custom attribute
    }
}
Copier après la connexion

Cependant, un moyen optimisé pour obtenir le même résultat consiste à utiliser la clause Where de LINQ avec Attribute.IsDefined() comme indiqué ci-dessous :

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

Cette méthode alternative contourne le besoin de créer des instances d'attribut, ce qui se traduit par une approche plus efficace.

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