2010-06-16 3 views
5

Kann ein Attribut auf eine statische Klasse, Methode oder Eigenschaft in C# angewendet werden? Wie:Kann in C# ein Attribut auf eine statische Klasse, Methode oder Eigenschaft angewendet werden?

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

Scheint wie eine einfache Sache, auf eigene Faust zu versuchen .... haben Sie versucht und versagt? –

+0

Wäre das nicht "[My]"? – Kobi

+0

Ich wiederhole Jason Webb's Kommentar: Warum hast du das nicht selbst versucht? – abelenky

Antwort

6

Es gibt wirklich zwei Fragen hier

Ist es möglich, Attribute im Allgemeinen Klasse angewendet werden, die Methode des oder Eigenschaften?

Ja Attribute gültig jeder dieser Konstrukte ausrichten können (und viele andere)

Ist es gültig für ein bestimmtes Attribut, dies zu tun?

Das hängt von dem spezifischen Attribut ab. Attribute können steuern, auf welche Konstrukte sie über die Enumeration AttributeTargets angewendet werden können, und es somit für ein spezifisches Attribut, das auf ein spezifisches Konstrukt angewendet werden soll, illegal machen.

Zum Beispiel kann die ParamArrayAttribute nur Parameter Ziel, während die ObsoleteAttribute ziemlich alles ausrichten können (außer Baugruppen und vielleicht eine andere fehlt mir)

+0

Congrats auf der 100k; p –

+0

@Marc danke! jetzt für 200 :) – JaredPar

+0

Jedoch kann 'AttributeTarget' ein Attribut nicht für ein * statisches * Element ungültig machen, sondern für ein * nicht-statisches * eines gleichen Typs ... – Timwi

1

Ja. Wahrscheinlich. Versuchen Sie es einfach.

Ich frage mich, warum Sie daran zweifeln würden.

2

Ja, Sie können Attribut auf statische Klasse, Methode, Eigenschaft anwenden.

Beispiel:

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

Ja, es kann angewendet werden.

0

Es auf dem Attribut hängt ab, wenn es zu einer statischen Klasse anwenden können. Überprüfen Sie AttributeTarget. Als solches ist es vollkommen legal und erlaubt, eine statische Klasse oder Methoden mit Attributen zu dekorieren.

Verwandte Themen