9
votes

C # attributeUnage pour une classe spécifique

est-il possible d'avoir quelque chose comme AttributeUnage de limiter l'utilisation d'un attribut à une classe spécifique (non seulement attributetArets.class - ce serait une classe)?


0 commentaires

3 Réponses :


11
votes

Non. Il n'y a rien dans le cadre qui le ferait.

Cependant, le code que utilise l'attribut en question pourrait toujours vérifier que le type de classe est la classe spécifique (ou l'une de ses sous-classes).

attributs, par eux-mêmes, ne faites rien - cela devrait avoir le même effet.


0 commentaires

0
votes

Apportez toutes les données de l'attribut accessibles uniquement par une méthode statique publique qui prend la classe que vous souhaitez en question et les contrôles pour voir s'il a l'attribut donné.


0 commentaires

14
votes

Un moyen d'accomplir cela, si vous avez accès à la classe spécifique, est détaillé par Marc Gravel ici: http://marcgravell.blogspot.com/2009/06/restricting-attribute-usage.html . Fondamentalement, vous implémentez l'attribut comme classe protégée du type spécifique. Ensuite, il ne peut être utilisé que par ce type.


0 commentaires