2016-03-20 7 views
1

過去に多くのPHPを実行しました。そこでは、トラフコードをパラメータとして渡すことができます。もしそれが呼び出し可能と呼ばれていれば、C#PHPのような呼び出し可能ファイルを作成する

これは、ように見えた方法です:

METHOD('Parameter', function() { 
echo "Hey!"; 
}); 

は、C#で可能これは?私はそれをしたいと思うので。その関数をメソッドのパラメタとして実行する。

答えて

0

私はこの質問を投稿した後、すぐに見つけマイawnser:

用途:

TestMethod ("Lambda",() => { 
    Console.WriteLine("Expression"); 
}); 

方法:

public void TestMethod (string name, Action action) { 
if(name == "Lambda") { 
    action.Invoke(); 
} 
} 
3

私が正しく理解している場合、呼び出し可能な関数を別のメソッドに渡したいと思っていますか?そのための最も簡単な方法は、FuncActionパラメータを使用することです:

void MyMethod(Action<string> passedInFunc) 
{ 
    passedInFunc("Hey"); 
} 

をして、それを呼び出す:

MyMethod(s => 
{ 
    Console.WriteLine(s); 
}); 

アクションのFuncながら、任意の値を返さない関数を表し値を返す関数です。

アクションに引数を渡したくない場合は、使用できるバージョンはnon-genericです。

最後はdelegatesなので、独自のカスタムデリゲートを定義して代わりに渡すこともできます。

+0

おかげで、私は私にそれをLambaExpressionゲームを掲示した後、私はそれを驚かせた。しかし、この質問を見つけることができませんでした。それは自分自身を傷つける。とにかく、ありがとう! –

+0

@joey FYIトップバーの真ん中に、あなたのプロフィールにアクセスするためにあなたのアバターをクリックすることができます。そこにあなたが尋ねた質問を見つけることができます。 –

関連する問題