2016-05-07 5 views
0

Wenn ich vor einer Methodendefinition in C# ein Attribut habe, wird dieses Attribut immer ausgeführt, bevor die Methode gestartet wird? Ich habe die letzte Stunde recherchiert, konnte aber keine konkreten Informationen dazu finden.Werden Attribute immer vor Methoden in C# ausgeführt?

+0

Attribute an sich selbst tun eigentlich nichts - sie sind nur Metadaten. Es hängt davon ab, was Sie (oder ein Framework) mit dem Attribut tun. –

+0

@daremkd Sie meinen den Konstruktor des Attributs? http://stackoverflow.com/questions/1168535/when-is-a-custom-attributes-constructor-run –

Antwort

2

Wenn ich vor einer Methodendefinition in C# ein Attribut habe, wird dieses Attribut immer ausgeführt, bevor die Methode gestartet wird?

Nein, es ist überhaupt nicht garantiert. Tatsächlich scheint das übliche Verhalten der Laufzeit zu sein, dass der Konstruktor des Attributs nur ausgeführt wird, wenn das Attribut angefordert wird (durch Reflexion an dem dekorierten Element). Soweit ich das beurteilen kann, werden nur die Attribute der Main Methode ohne manuelle Reflektion ausgeführt.

Verwandte Themen