dammi
Lt. Commander
- Registriert
- Sep. 2007
- Beiträge
- 1.630
Hallo zusammen,
ich bin gerade gezwungen ein Plugin in C# zu schreiben und stocke gerade etwas mit dem Umgang der tollen Reflection Bibliothek :-)
Ich will nichts weiter, als alle Variablen und Methoden via Reflection abzufragen und später eventuell wieder darauf zuzugreifen / aufzurufen.
Angenommen ich habe die Klasse "ReflectionsTest" mit ein paar Variablen und Methoden alá:
so sollte es ja möglich sein die Variablen und Methoden dieser Klasse via Reflection zu erzahlten & aufzurufen!
Leider funktioniert schon das Abfragen der Variablen nicht, zusammen gegoogelt habe ich mir folgenden Aufruf (in meinem Fall innerhalb des Konstruktors "ReflectionTest()":
Analog dazu, bei den Methoden:
Der Aufruf sollte hier ja dann via der mitgeliferten invoke() Methode realisiert werden können, allerdings bekomme ich ja nicht einmal die Variablen & Methoden, also brauch ich mir über den Methodenaufruf noch garkeine Gedanken zu machen
Kann mir jemand sagen, was ich falsch mache?
ich bin gerade gezwungen ein Plugin in C# zu schreiben und stocke gerade etwas mit dem Umgang der tollen Reflection Bibliothek :-)
Ich will nichts weiter, als alle Variablen und Methoden via Reflection abzufragen und später eventuell wieder darauf zuzugreifen / aufzurufen.
Angenommen ich habe die Klasse "ReflectionsTest" mit ein paar Variablen und Methoden alá:
Code:
public class ReflectionTest
{
protected String anyVar1;
protected String anyVar2;
protected String anyVar3;
public ReflectionTest()
{
...
}
public void anyMethod()
{
...
}
}
Leider funktioniert schon das Abfragen der Variablen nicht, zusammen gegoogelt habe ich mir folgenden Aufruf (in meinem Fall innerhalb des Konstruktors "ReflectionTest()":
Code:
Type type = this.GetType();
FieldInfo[] fields = type.GetFields();
foreach (FieldInfo field in fields)
{
System.Diagnostics.Debug.WriteLine("+ " + field.Name.ToString());
}
Analog dazu, bei den Methoden:
Code:
Type type = this.GetType();
MethodInfo[] methods = type.GetMethods();
foreach (MethodInfo method in methods)
{
System.Diagnostics.Debug.WriteLine("+ " + method.Name.ToString());
}
Der Aufruf sollte hier ja dann via der mitgeliferten invoke() Methode realisiert werden können, allerdings bekomme ich ja nicht einmal die Variablen & Methoden, also brauch ich mir über den Methodenaufruf noch garkeine Gedanken zu machen
Kann mir jemand sagen, was ich falsch mache?
Zuletzt bearbeitet: