J'ai une classe d'attributs personnalisée que j'ai définie comme: à partir du site Web de Microsoft: P> par convention, le nom de la
La classe d'attributs se termine par le mot
Attribut. Bien que non requis, cela
La convention est recommandée pour
lisibilité. Quand l'attribut est
appliqué, l'inclusion du mot
L'attribut est facultatif. P>
blockQquote> Donc, l'attribut peut être utilisé par p> ou p> ma question à Vous tous, c'est si quelqu'un a connu des problèmes d'utilisation de la version abrégée du nom vs le nom complet? Je suis en cours d'exécution 4.0 Cadre. P> Merci! P> P>
4 Réponses :
Nope. Facile comme tarte! P>
En outre, vous pouvez l'utiliser sans le vide () code> parenthèses p>
En général, vous ne devriez pas avoir de problèmes. Le compilateur C # est suffisamment intelligent pour le résoudre au type approprié dans les deux cas. P>
Ça devrait aller bien ... Je vous conseillerais de ne pas introduire de deux attributs avec des noms qui ne diffèrent que par le nombre de suffixes d'attribut: i suspect EM> Le match exact gagnerait ici, mais s'il vous plaît ne présentez pas l'ambiguïté en premier lieu. (Je n'ai pas vérifié la spécification.) P> p>
aucun problème. p>
Sous dans la compilée il le nom a toujours l'attribut annexé à celui-ci (nom complet de type). P>
Basé sur ECMA-334 (C # SPEC) 24.2, la résolution est effectuée en premier par correspondance exacte, puis en ajoutant "attribut" au nom donné dans []. De plus, s'il y a un conflit (ex: myAttribute et myAttributeAttribute) une erreur de compilation est générée lorsque "myAttribute" serait utilisé. P>
Quel genre de problemes? La question est un peu ouverte ...
Vous devriez pouvoir appeler
[myCustom] code> sans aucun problème (et sans parenthèses à ce sujet :) Avez-vous des problèmes alors? Des messages d'erreur?
Nan! Je pense que c'est comme demander à "Avez-vous eu des problèmes de ne pas commencer les noms d'interfaces avec un i?" I> Son travaille bien depuis des années ...
Oui, c'est ... J'avais des problèmes de temps d'exécution et comment l'attribut était appelé était le seul changement que j'ai remarqué (mais il y a probablement autre chose). Une des raisons de mon inquiétude utilisait la méthode de l'Assemblée GetCustomAttribute. Mais il semble que la réponse écrasante est que cela fonctionne parfaitement.