Wie übergebe ich eine Aktion mit zwei Parametern mittels Lambda-Ausdruck an Methode?

8

Ich habe eine Klasse, die im Konstruktor eine Aktion ausführt.

Beispiel:

%Vor%

Ich instanziiere diese Klasse derzeit mit der folgenden Codezeile:

%Vor%

Ich möchte die benutzerdefinierte Klasse so ändern, dass sie einen zusätzlichen Konstruktor wie den folgenden enthält:

%Vor%

Allerdings ist meine Kenntnis von Lambda-Ausdrücken ziemlich grundlegend, daher kann ich nicht herausfinden, wie man die benutzerdefinierte Klasse instanziiert und zwei Parameter in der Aktion an den neuen Konstruktor übergibt.

Jede Hilfe würde sehr geschätzt werden.

Danke.

    
Chris 12.01.2010, 16:08
quelle

4 Antworten

11

Um zwei Parameter an die Aktion zu übergeben, definieren Sie einfach die Einfügeaktion als Action<T,T2> und wenn Sie es aufrufen, machen Sie das wie folgt:

%Vor%     
Francisco Noriega 12.01.2010, 16:12
quelle
6

In Lambda können Sie zwei Parameter als solche übergeben:

%Vor%     
Tony The Lion 12.01.2010 16:11
quelle
2

Entweder Sie fragen

%Vor%

oder

%Vor%

Der zweite Konstruktor nimmt einen Delegaten, der 2 Parameter empfängt. Du kannst also etwas wie

machen %Vor%     
Stan R. 12.01.2010 16:12
quelle
2

Sie können einen Lambda-Ausdruck erstellen, der mehr als einen Parameter benötigt, indem Sie die Parameterliste mit Klammern umgeben und Kommata die Parameter trennen:

%Vor%

Wenn Sie mehr als eine Anweisung in einem Lambda ausführen müssen, können Sie den Körper des Lambda mit geschweiften Klammern umgeben:

%Vor%

Sie können mehr über die Lambda-Syntax hier in MSDN erfahren.

    
LBushkin 12.01.2010 16:16
quelle

Tags und Links