2009-05-12 20 views

答えて

7

あなたはRhinoで.NET

void Execute(Action action) { 
    action(); 
} 

void Test() { 
    Execute(() => Console.WriteLine("Hello World!")); 
} 
6

3.5でLambdaの構文を使用すると、同様の構文が得られます。

public void Call(Action action) 
{ 
    action(); 
} 

Expect.Call(() => service.HelloWorld("Thanks")); 

Moqそれはモックだためラムダ構文を使用していますモックフレームワークです。

var mock = new Mock<IService>(); 
mock.Setup(service => service.HelloWorld("Thanks")).Returns(42); 
0

の新しいバージョンで提供されていたアクションデリゲートを使用することができますが、それは実際にメソッドを呼び出しているモック。オブジェクトはその時点でセットアップモードにあり、呼び出すときにパラメータを記録して期待値を設定しています。これが委任構文から離れ得る理由です。不幸にも、他の多くのシナリオでは本当に可能ではありません。

関連する問題