In Python kann ich so etwas machen:
%Vor%Gibt es eine Möglichkeit, dies oder etwas ähnliches in C # zu tun? Grundsätzlich möchte ich in der Lage sein, eine Liste von Argumenten an eine beliebige Funktion zu übergeben und sie als Parameter der Funktion anwenden zu lassen, ohne die Liste manuell zu entpacken und die Funktion explizit unter Angabe der Parameter aufzurufen.
Nun, der nächste wäre die Reflexion, aber das ist auf der langsamen Seite ... aber schauen Sie sich an MethodInfo.Invoke ...
Sie können das Schlüsselwort params verwenden, wenn Sie Ihre Methode definieren, und dann können Sie Ihre Liste (nach dem Aufruf von ToArray) direkt in Ihren Methodenaufruf einfügen.
%Vor%... was Sie später mit dem folgenden Aufruf aufrufen können.
%Vor%Als Referenz: Ссылка
Sie können nicht, Dinge, die nahe sind mit ein wenig Hand waving (entweder zu einer foreach, oder fügen Sie eine foreach Erweiterung Methode auf die Sammlung, die ein Lambda nimmt), aber nichts so elegant wie Sie in Python bekommen .
Mit LINQ können Sie das tun, was Ihrem Beispiel ziemlich nahe kommt.
%Vor%Tags und Links c# iterable-unpacking