Wie kann ich eine Aktion erstellen, delegieren von MethodInfo?
Möchte ich, um ein action-Delegat von ein MethodInfo-Objekt. Ist das möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchte ich, um ein action-Delegat von ein MethodInfo-Objekt. Ist das möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Delegieren.CreateDelegate:
Für eine
Action<T>
etc, geben Sie einfach die entsprechende Stellvertretung Art überall.In .NET Core
Delegate.CreateDelegate
existiert nicht, aberMethodInfo.CreateDelegate
hat:Delegate.CreateDelegate
erscheint nicht zur Verfügung stehen werden .Net Core. Irgendwelche Ideen gibt?MethodInfo.CreateDelegate
statt. (Habe es gerade ausprobiert, und es funktionierte gut.)try-catch
Blöcke. Ich entdeckte die sehr störenden Fehler von try-catch-Blöcke beim Aufruf eine MethodInfo (z.B., die über Reflexion). Allerdings, wenn ein Delegat erstellt wird, aus der MethodInfo-und cast zu einemDelegate
sub-Klasse - d.h., Action, Func - und ausgeführt, in einem try-catch-block alle Ausnahmen gefangen werden, wie erwartet.Action
keine. Wenn Sie möchten, dass ein Delegierter mit einem argument, wählen Sie einen Delegaten mit einer Signatur-matching, was Sie wollen.Diese scheint zu funktionieren auf der Oberseite des Johannes-Beratung zu: