Übergeben Sie die Methode als Parameter mit C #

Habe ich mehrere Methoden mit der gleichen Signatur (Parameter und Rückgabewerte), aber unterschiedlichen Namen und den Interna der Methoden unterschiedlich sind. Ich möchten, übergeben Sie den Namen der Methode führen Sie eine weitere Methode aufrufen, wird die übergebene Methode.

public int Method1(string)
{
    ... do something
    return myInt;
}

public int Method2(string)
{
    ... do something different
    return myInt;
}

public bool RunTheMethod([Method Name passed in here] myMethodName)
{
    ... do stuff
    int i = myMethodName("My String");
    ... do more stuff
    return true;
}

public bool Test()
{
    return RunTheMethod(Method1);
}

Dieser code funktioniert nicht, aber das ist, was ich versuche zu tun. Was ich nicht verstehe, ist, wie Sie schreiben, die RunTheMethod code da Brauch ich zum definieren der parameter.

Kommentar zu dem Problem
Warum nicht Sie einen Delegaten übergeben, anstatt den Namen der Methode? Kommentarautor: Mark Byers

InformationsquelleAutor der Frage user31673 | 2010-01-17

Schreibe einen Kommentar