ist da Nehmen wir an, ist eine Methode, die eine variable Anzahl von Argumenten entgegennimmt:Wie ein Delegierter auf ein Ziel mit variablen Anzahl von Argumenten erstellen
void Target(params object[] args);
dies können wir mit einem konkreten Parameterliste für eine Maßnahme befestigen schafft einen Lambda-Ausdruck:
Action<int, int> someAction += (a, b) => Target(a, b);
gibt es eine Möglichkeit, diesen Lambda-Ausdruck zu erstellen dynamisch den Handler für jede Art von Veranstaltung befestigen zu können? Etwas wie:
someAction += CreateDelegate(typeof(someAction), Target);
Ich versuchte Delegate.CreateDelegate
zu verwenden, aber es erwartet das Ziel eine Methode mit der konkreten Liste der Argumente zur Verfügung zu stellen. Ich habe das Gefühl, dass es mit Expression.Lambda
möglich sein sollte, aber jetzt hatte ich keinen Erfolg. Haben sie eine Idee?
bearbeiten
Umbenannt Ereignis Aktion und Handler zu zielen.
Ereignisse sollte natürlich genau 2 Parameter : Absender und Argumente. –
@Henk Holterman INHO-Ereignisse können auch Aktionen sein. Es ist möglich, Argumente direkt zu übergeben, und Sie müssen sie nicht in ein EventArgs-Objekt packen. Und wie oft verwenden Sie das Senderobjekt in einem Handler? –