假设我有一个通用的方法和一些接口没有参数:嘲讽泛型方法
public interface Interface {
void Method<T>();
}
现在我希望实现这个类的模拟(我使用Moq
),我想嘲笑这种方法对于某些具体类型 - 比方说,我正在嘲笑Method<String>()
调用。
mock = new Mock<Interface>();
mock.Setup(x => x.Method ????).Returns(String("abc"));
的????
的想法应该是明确的 - 这lambda表达式应该处理的情况下T
在Method<T>
实际上是一个String
。
有没有什么办法可以实现想要的行为?
不应该'字符串方法'是'T方法'? –
Scott
2010-12-10 11:46:23
@秘密代理人,不,它不应该。至少没有任何事情要求它这样做。这只是我拿的一个例子。一个方法可以返回任何你想要的。如果你想用'T'替换'string'返回类型,这个例子仍然可以工作。 – 2010-12-10 11:47:37