Inspiré par une SORTE de question. L'Attribut de classe possède plusieurs surcharges de la IsDefined() méthode. Sont couverts les attributs appliqués à l'Assemblée, Module, MemberInfo, ParameterInfo. Le MemberInfo surcharge couvre PropertyInfo, FieldInfo, EventInfo, MethodInfo, ConstructorInfo.
Qui prend soin de la plupart de la AttributeTargets. Sauf pour une biggy: il n'y a pas de surcharge pour l'Attribut.IsDefined(Type, Type), de sorte que vous pouvez vérifier si un attribut est défini sur une classe. Ou d'une structure, d'un délégué ou d'enum.
Non que ce soit un réel problème, Type.GetCustomAttributes() peut résoudre ce problème. Mais tous les BlahInfo types de ont aussi. J'ai été surpris par le manque de symétrie. Je ne peux pas mettre le doigt sur pourquoi ce serait un problème pour le Type. Devinant un héritage problème de ne pas me l'expliquer. Ayant ValueType dans le mélange peut être un chef de file, n'a pas de sens. Je n'achète pas "ils ont oublié, ils ne le font jamais.
Pourquoi est-ce surcharge manquant?