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 } }
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)));
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!