2 Stimmen

Die Leistung von .NET-Attributen nutzen

Ich würde gerne wissen, ob Attribute verwendet werden können, um Funktionen in eine Klasse/Methode/Eigenschaft einzubauen.

Etwa so:

[TrackChanges]
public Foo
{
   get;
   set;
}

Weiß jemand, wie dies umgesetzt werden könnte, falls dies überhaupt möglich ist?

3voto

Igal Tabachnik Punkte 30660

Werfen Sie einen Blick auf PostSharp an AOP Rahmen. Es ist ein Post-Compiler, der benutzerdefinierte Attribute verwendet, um zusätzliches Verhalten in bestehenden Code einzufügen. Bei den meisten Beispielen handelt es sich in der Regel um Tracing und Sicherheit.

0voto

Andrew Hare Punkte 332190

Das können sie sicherlich, aber dazu müssen Sie Reflexion einsetzen. Und nur weil man es kann, heißt es nicht, dass es einfach oder elegant ist.

Durch die Reflexion erhalten Sie Zugang zu jedem Mitglied in jeder gewünschten Form. Sie müssten diese Mitglieder abrufen und die .NET-Reflection-API nutzen, um sie zu bearbeiten. Das kann zwar funktionieren, wäre aber nicht gerade einfach zu pflegen oder zu lesen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X