2009-05-12 14 views

Répondre

7

Vous pouvez utiliser le délégué d'action fourni dans les versions les plus récentes de

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

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

En utilisant la syntaxe Lambda en 3.5, vous pouvez obtenir une syntaxe similaire.

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

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

Moq est un cadre moqueur qui utilise la syntaxe pour Lambda il est moqueur.

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

Dans Rhino Mocks il invoque en fait la méthode. L'objet est en mode configuration à ce moment-là et lorsque vous l'invoquez, il enregistre les paramètres et définit les attentes. C'est pourquoi vous pouvez vous éloigner de la syntaxe du délégué. Pas vraiment possible dans beaucoup d'autres scénarios malheureusement.