设置一个方法来返回作为参数传递的函数的返回值

我有:


public T MethodNameHere<T>(Func<T> func)

{

  return func.Invoke();

}

如何为该方法设置模拟。类似于以下内容:


this.mockService.Setup(a => a.MethodNameHere(It.IsAny<Func<Guid>>())).Returns(...?...);

Returns我该如何Func返回?


智慧大石
浏览 104回答 1
1回答

沧海一幻觉

在委托中获取传递的参数Returns并调用它this.mockService&nbsp; &nbsp; .Setup(_ => _.MethodNameHere(It.IsAny<Func<Guid>>()))&nbsp; &nbsp; .Returns((Func<Guid> func) => func());或者this.mockService&nbsp; &nbsp; .Setup(_ => _.MethodNameHere(It.IsAny<Func<Guid>>()))&nbsp; &nbsp; .Returns((Func<Guid> func) => func.Invoke());参考起订量快速入门// access invocation arguments when returning a valuemock.Setup(x => x.DoSomethingStringy(It.IsAny<string>()))&nbsp; &nbsp; &nbsp; &nbsp; .Returns((string s) => s.ToLower());// Multiple parameters overloads available
打开App,查看更多内容
随时随地看视频慕课网APP