6
votes

En C #, un attribut peut-il être appliqué à une classe, une méthode ou une propriété statique?

Un attribut peut-il être appliqué à une classe, une méthode ou une propriété statique en C #? Comme: xxx


4 commentaires

Semble être une chose facile à essayer de vous-même ... Avez-vous essayé et a échoué?


Cela ne serait-il pas [mon] ?


J'échoque le commentaire de Jason Webb: Pourquoi tu n'as pas juste essayé ça toi-même?


@Kobi: Pendant que vous peut abréger les noms d'attributs, vous n'êtes certainement pas obligé.


5 Réponses :


1
votes

Oui. Probablement. Juste essayer de voir.

Je me demande pourquoi tu en doutaient.


0 commentaires

2
votes

Oui, vous pouvez appliquer l'attribut à la classe statique, la méthode, la propriété.

Exemple: P>

[MyAttribute("hello")]
      public static string SayHello(string str)
      {
         return str;
      }


0 commentaires

1
votes

Oui, il peut être appliqué.


0 commentaires

6
votes

Il y a vraiment deux questions ici

est-il possible pour les attributs de général d'être appliqué à la classe, à la méthode ou aux propriétés?

Oui Les attributs peuvent valablement cibler l'une de ces constructions (et beaucoup d'autres)

est-il valide pour un attribut spécifique à le faire?

Cela dépend de l'attribut spécifique. Les attributs peuvent contrôler les constructions qu'elles peuvent être appliquées via le attributeTartgets Enum et le rendent donc illégal pour un attribut spécifique à appliquer à une construction spécifique.

Par exemple, le paramarrayattribute ne peut que cibler les paramètres tandis que le obsolèteattribute peut cibler à peu près tout (sauf les assemblages et peut-être une autre, je manque)


1 commentaires

Cependant, même attributetarget ne peut pas faire un attribut invalide sur un élément statique valide sur un non statique un du même genre ...



0
votes

Cela dépend de l'attribut s'il peut s'appliquer à une classe statique. Découvrez attributeTarget . En tant que tel, il est parfaitement légal et autorisé à décorer une classe statique ou des méthodes avec des attributs.


0 commentaires