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
A
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
- 1. Sicherstellen, dass Methoden immer nur vom Hauptthread ausgeführt werden
- 2. Python Klassenmethoden werden immer zweimal ausgeführt
- 3. Warum einige asynchronen Methoden synchron ausgeführt werden
- 4. Beide Methoden werden nach erteilten Berechtigungen ausgeführt.
- 5. Warum werden UITableView-Methoden vor viewWillAppear aufgerufen?
- 6. Werden statische Methoden immer im Speicher gehalten?
- 7. Können Attribute dynamisch in C# hinzugefügt werden?
- 8. Werden geplante cocos2d-Methoden in einem anderen Thread ausgeführt?
- 9. Code direkt vor der Kompilierung in C# -Methoden einfügen
- 10. Warum konnte onPostExecute vor doInBackground in AsyncTask ausgeführt werden?
- 11. Werden statische Methoden in Java immer zur Kompilierzeit aufgelöst?
- 12. Durchlaufen Attribute mit DOM-Methoden?
- 13. Erinnerung, dass Tests vor dem Festschreiben ausgeführt werden müssen
- 14. C# Attribute und ihre Verwendung
- 15. Wie werden Tests in Scalatest immer in der gleichen Reihenfolge ausgeführt?
- 16. Wie werden eine PHP-geschachtelte Klasse oder verschachtelte Methoden ausgeführt?
- 17. Werden veraltete Methoden von der neuesten API ausgeführt?
- 18. Verfall und andere Attribute von Methoden in Swift, wie?
- 19. Liquibase changeSet mit failOnError = "false" werden immer ausgeführt?
- 20. Sind Attribute auf regulären Methoden möglich
- 21. BindModel wird vor ActionFilterAttribute ausgeführt
- 22. Validierungsmethoden werden parallel ausgeführt
- 23. Warum werden die Meteor Router-Funktionen immer zweimal ausgeführt?
- 24. Keine RTTI, aber immer noch virtuelle Methoden
- 25. Methoden in Namespace C#
- 26. Wrong ausgegeben, während C-Code ausgeführt werden
- 27. Synchronisierte Methoden in C#
- 28. Kann ich mich darauf verlassen, dass alle Start-Methoden ausgeführt werden, bevor irgendwelche Updates beim Laden der Szene ausgeführt werden?
- 29. Rückgabe Antwort vor Methoden in MVC-Controller
- 30. Zweite Codezeile wird vor der ersten ausgeführt C#
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. –
@daremkd Sie meinen den Konstruktor des Attributs? http://stackoverflow.com/questions/1168535/when-is-a-custom-attributes-constructor-run –