Übergeben Sie eine Methode als Argument

7

Wie übergebe ich eine Methode als Argument? Ich mache dies die ganze Zeit in Javascript und muss anonyme Methoden verwenden, um Params zu bestehen. Wie mache ich es in c #?

%Vor%     
Praesagus 04.08.2009, 16:49
quelle

5 Antworten

13

Delegierte stellen diesen Mechanismus bereit. Ein schneller Weg, dies in C # 3.0 für Ihr Beispiel zu tun, wäre Func<TResult> wo TResult ist string und lambdas.

Ihr Code würde dann werden:

%Vor%

Wenn Sie jedoch C # 2.0 verwenden, können Sie stattdessen einen anonymen Delegaten verwenden:

%Vor%     
Jeff Yates 04.08.2009, 16:55
quelle
9

Ihre ParamMethod ist vom Typ Func & lt; String, String & gt; weil es ein String-Argument benötigt und eine Zeichenfolge zurückgibt (beachten Sie, dass das letzte Element in den spitzen Klammern der Rückgabetyp ist).

In diesem Fall würde Ihr Code also etwa so aussehen:

%Vor%     
Mark Rushakoff 04.08.2009 16:54
quelle
7

Sehen Sie sich C # -Abgeordnete an

Ссылка

Lernprogramm Ссылка

    
pjp 04.08.2009 16:51
quelle
4
%Vor%

Das () => ist wichtig. Es erstellt eine anonyme Func<string> von der Func<string, string> , die ParamMethod ist.

    
Amy B 04.08.2009 16:56
quelle
0
%Vor%     
Raghav 04.08.2009 18:37
quelle

Tags und Links