2010-06-16 6 views
5

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

[MyAttribute] 
public static MyMethods(string str) ... 
+7

Semble comme une chose facile à essayer sur votre propre .... avez-vous essayé et échoué? –

+0

Ne serait-ce pas '[My]'? – Kobi

+0

Je me fais l'écho du commentaire de Jason Webb: pourquoi ne l'as-tu pas essayé toi-même? – abelenky

Répondre

6

Il y a vraiment deux questions ici

Est-il possible pour les attributs en général à appliquer à la classe, ou de propriétés méthode?

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

est-il valable pour un attribut spécifique de le faire?

Cela dépend de l'attribut spécifique. Les attributs peuvent contrôler les constructions auxquelles ils peuvent être appliqués via l'énumération AttributeTargets et ainsi rendre illégal l'application d'un attribut spécifique à une construction spécifique.

Par exemple, le ParamArrayAttribute ne peut cibler les paramètres alors que le ObsoleteAttribute peut cibler quoi que ce soit à peu près (à l'exception des assemblées et peut-être un autre que je suis absent)

+0

Félicitations sur le 100k; p –

+0

@Marc merci! maintenant pour 200 :) – JaredPar

+0

Cependant, même 'AttributeTarget' ne peut pas rendre un attribut invalide sur un élément * static * mais valide sur un * non-static * du même type ... – Timwi

1

Oui. Probablement. Essayez juste de voir.

Je me demande pourquoi vous en douteriez.

2

Oui, vous pouvez appliquer un attribut à une classe statique, à une méthode ou à une propriété.

exemple:

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

Oui, il peut être appliqué.

0

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

Questions connexes