Hallo wie die Frage beschreibt im versucht, eine Methode durch Reflexion aufrufen, die in Ordnung ist und alle, wenn es ein void-Typ war. aber string, bool, etc funktioniert nicht. auch mit einem Rückgabetyp. Ich konnte keine brauchbaren Referenzen finden.Invoke-Methode mit Reflection-Pass-Through-Parametern und erhalten einen Rückgabewert
Ich habe eine Testklasse, die ich einige Testmethoden aufgerufen habe. all die leeren hatten gut funktioniert. aber die anderen riefen überhaupt nicht.
internal class Test
{
public static void Print()
{
Console.WriteLine("Test");
Console.WriteLine("Testing an invoke method");
}
public static void CalcData()
{
Console.WriteLine("Test");
}
public static void DoSomething(int c, float f)
{
Console.WriteLine("Test");
}
public static string TestString(string s, int p, char f)
{
return "Happy Days";
}
}
in meinem Haupt Methode würde ich t.GetMethod("Print").Invoke(t, null);
nennen, aber ich bin nicht sicher, wie ich in einem Parameter zu übergeben würde anrufen oder sogar einen Rückgabetyp erhalten.
einige Einblicke in diese würde sehr geschätzt werden.
Mögliches Duplikat von [Wie Reflexion verwenden, um Call-Methode nach Namen] (http://stackoverflow.com/questions/3110280/how-to- Use-Reflection-to-Call-Methode-by-Name) –