2016-06-13 9 views
0

C#用の拡張ライブラリを作成していますが、メソッド呼び出しでコードブロックを受け入れることができるかどうかは疑問です。以下のような何か:メソッドのコードブロックを受け入れる方法C#

foo() 
{ 
    var bar = 0; 
}; 

またはこのような何かもするだろう:

foo(
{ 
var bar = 0; //As an argument to the method 
}); 
+0

雅を読むことができます。デリゲートを使用できます。この前の質問を参照してください:http://stackoverflow.com/questions/6866347/lambda-anonymous-function-as-a-parameter –

+0

ありがとう@GiladGreen、それは非常に役立ちます!この質問を重複としてマークするか、回答をコメントとして追加してください。 – RhysO

+0

なんらかの理由で答えとして追加することはできませんが、コメントとして追加します..... –

答えて

0

あなたはこれを達成するために、デリゲート/ラムダに渡すことができます。

public void foo(Action del) 
{ 
    var local = del; 
    if (local != null) 
    { 
     local(); 
    } 
} 

foo(() => 
{ 
var bar = 0; 
}); 

あなたはより多くのhere

関連する問題