Rekon1602 Geschrieben 2. Januar 2010 Geschrieben 2. Januar 2010 Hallo Ich hätte mal ne theoretische frage. Ich arbeite mit c# Hier erstmal ein kleines (sehr einfaches) szenario: Ich hab eine Klasse, z.B. public class SimpleClass { public SimpleClass(double val) { this.val = val; } public double Val { get { return val; } set { val = value; } } public void Increment() { this.Val++; } public void Decrement() { this.Val--; } private double val; } Nur möchte ich aus einer Windows-Form (oder einer anderen Klasse) heraus wissen, wieviel funktionen diese klasse hat. Ich dachte da an i-was in der richtung. Mit ner foreach-schleife über die klasse gehen. Hoffe es is klar was ich mein. Geht das i-wie??? Zitieren
realgun Geschrieben 3. Januar 2010 Geschrieben 3. Januar 2010 Prinzipiell kannst Du per Reflection über den Typ eines Objects alle Methoden dieses Typs auflisten. Beispiel (ungetestet): KlasseIrgendwas a = new KlasseIrgendwas(); Type t = a.GetType(); MethodInfo[] methods = t.GetMethods(); foreach (MethodInfo mi in methods) { Console.WriteLine(mi.Name); } dieses müsste Dir alle "Public" Methoden eines Typs ausgeben. Um andere Methoden zu bekommen, kannst Du entweder das MemberInfo direkt benutzen oder eine andere Überladung von "GetMethods" aufrufen. Zitieren
Rekon1602 Geschrieben 28. Januar 2010 Autor Geschrieben 28. Januar 2010 Ok, das mit den Methoden auflisten klappt. Nun habich ein weiteres problem. Etz wenn ich alle Funktionen aufgelistet habe, ordne ich jedem Namen einen Button zu. Wenn der Button gedrückt wird, dann soll diese Funktion aufgerufen werden. Weiß einer von euch zufällig wie ich das anstelle??? Ich hab hier ja nur den Namen der Funktion als String. Wie bekomme ich daraus jetzt nen funktionsaufruf??? Zitieren
Rekon1602 Geschrieben 28. Januar 2010 Autor Geschrieben 28. Januar 2010 Ok, damit hab ich die Funktion, die ich suche, aber wie führe ich diese nun aus??? Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2010 Geschrieben 28. Januar 2010 Wie wärs wenn du selber mal nen Blick in die Hilfe bzw. Dokumentation dazu wirfst? GetMethod gibt ein MethodInfo zurück und das hat eine Methode Invoke was die Methode aufruft... Zitieren
Argbeil Geschrieben 28. Januar 2010 Geschrieben 28. Januar 2010 Hehe...das mit der Doku hab ich mir auch gedacht. Zitieren
Rekon1602 Geschrieben 28. Januar 2010 Autor Geschrieben 28. Januar 2010 Habs hinbekommen, danke! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.