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???
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.
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???
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???
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...
Argbeil Geschrieben 28. Januar 2010 Geschrieben 28. Januar 2010 Hehe...das mit der Doku hab ich mir auch gedacht.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden