Hallo,
Wenn ich ein CustomAttrbute schreibe und dieses auf eine Klasse oder Methode anwende kann ich wunderbar per Reflection die MemberInfos auslesen, auf die das Attribut angewendet wurde.
Besteht auch die Möglichkeit vom Code des Attributes aus Zugriff auf das MemberInfo Objekt zu bekommen, auf das eine Instanz des Attributes angewendet wurde? Wenn ja wie stelle ich das an?
Viele Grüße
ltrader
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
Hallo ltrader,
Wenn ja wie stelle ich das an?
da wirst du IMHO wohl oder übel alle Member aller Klassen durchgehen müssen (lässt sich zumindest wunderbar parallelisieren).
Eventuell musst du das aber nicht auf dem PC des Users machen, sondern kannst das vorher einmal daraus eine XML-Datei generieren und diese dann einlesen.
Ich fürchte damit ist mir nicht geholfen - vielleicht habe ich mich auch nicht optimal ausgedrückt.
Was ich benötige ist eine Möglichkeit innerhalb der Instanz des Attributes eine Referenz auf das entsprechende Objekt oder MemberInfo Objekt zu ergattern.
Intention ist es innerhalb des Attributes mitzubekommen wenn die entsprechende Methode auf die as Attribut angewendet wird aufgerufen wird. So könnte ich deklatativ
Eine Alternative könnte sein, eine Art Listener an das entsprechende MethodInfo Objekt zu hängen, aber wie und ob das geht weiss ich nicht..
Grüße
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
Das geht nicht so ohne Weiteres.
Dazu braucht man ein Framwork (genauer gesagt einen Rewriter) zur Aspektorientierten Programmierung (AOP).
Suche mal nach "PostSharp" bzw. siehe [Artikel] Attribute zur Prüfung von Properties verwenden
Hallo ltrader,
Was ich benötige ist eine Möglichkeit innerhalb der Instanz des Attributes eine Referenz auf das entsprechende Objekt oder MemberInfo Objekt zu ergattern.
das geht aber standardmäßig leider nicht. Genauso wenig wie es einen standardmäßigen (direkten) Weg gibt, innerhalb der Codes einer Property oder einer Methode an deren Attribute zu kommen. Sprich das Hin- und Her zwischen Attributen und dem attributierten Member wird vom Framework nicht wirklich unterstützt.
Natürlich kann man sich selber was basteln, aber das ist dann eben auch gebastelt.
herbivore