代码之家  ›  专栏  ›  技术社区  ›  Marc Vitalis

如何在不声明委托的情况下将方法作为参数传递。网

  •  3
  • Marc Vitalis  · 技术社区  · 17 年前

    Expect.Call(service.HelloWorld("Thanks"))
    

    你知道怎么做吗?

    3 回复  |  直到 17 年前
        1
  •  7
  •   sisve    17 年前

    您可以使用较新版本中提供的操作委托。网

    void Execute(Action action) {
        action();
    }
    
    void Test() {
        Execute(() => Console.WriteLine("Hello World!"));
    }
    
        2
  •  6
  •   Cameron MacFarland    17 年前

    使用 Lambda 3.5中的语法可以得到类似的语法。

    public void Call(Action action)
    {
        action();
    }
    
    Expect.Call(() => service.HelloWorld("Thanks"));
    

    Moq 是一个使用Lambda语法进行模拟的模拟框架。

    var mock = new Mock<IService>();
    mock.Setup(service => service.HelloWorld("Thanks")).Returns(42);
    
        3
  •  0
  •   justin.m.chase    15 年前