Im Grunde, was ich will, ist:automatisch Methoden injizieren zu einer Klasse auf Kompilierung-
Wenn ich eine Klassendefinition wie diese:
public class MyClass()
{
public int MyMethod()
{
return 42;
}
}
ich eine andere Kopie aller injizieren will Methoden zur Kompilierzeit.
So ist die tatsächliche kompilierte Version würde (zum Beispiel) wie folgt aussehen:
public class MyClass()
{
public int MyMethod()
{
return 42;
}
// injected method ...
public int MyMethodInjected()
{
return MyMethod() * 2; // just an example
}
}
Ich weiß, dass dies möglich sein sollte, Postsharp mit einem Typ-Attribut, kann aber nicht herausfinden, wie es zu tun. Alle Aspektattribute, die ich betrachtet habe, modifizieren einfach die existierende Methode, was ich nicht will. Ich möchte für jede Methode eine neue injizierte Methode erstellen.
Vielen Dank für die Erklärung Daniel. – GregaMohorko
@Daniel Balas, kannst du bitte etwas mehr erklären, was dein _reference code_ tut? –
@AntonKrouglov Kommentare hinzugefügt, die zu dem Problem führen, das ich beschreibe. Ist es o.k? –