Angenommen, mir wird ein Objekt und eine Zeichenfolge mit einem Methodennamen zugewiesen. Wie kann ich einen Delegaten an diese Methode (dieser Methode?) zurückgeben?
Beispiel:
%Vor%Vielen Dank im Voraus.
Noch eine Sache - Ich möchte wirklich keine switch-Anweisung verwenden, obwohl es funktionieren würde, aber eine Menge Code.
Sie müssen Type.GetMethod
verwenden, um das Richtige zu erhalten Methode und Delegate.CreateDelegate
, um MethodInfo
in einen Delegaten zu konvertieren. Vollständiges Beispiel:
Der Kommentar von Mehrdad ist jedoch ein großartiger - wenn die Ausnahmen, die durch diese Überladung ausgelöst werden, Delegate.CreateDelegate sind in Ordnung, Sie können GetByName
deutlich vereinfachen:
Ich habe das selbst nie benutzt, weil ich normalerweise andere Teile der Überprüfung mache, nachdem ich das MethodInfo
explizit gefunden habe - aber wo es passt, ist das wirklich praktisch:)
Tags und Links c# reflection