【发布时间】:2011-05-14 09:37:47
【问题描述】:
我刚刚在我编写的方法中添加了一个 out bool 参数,以便在我的 UI 中获得警告。我使用了 out 而不是让方法本身返回 false/true,因为这意味着 DoSomething 失败/成功。我的想法是 warnUser 将指示警告实际上是什么,而无需查看方法的实现。
原始代码
public void DoSomething(int id, string input);
新代码
public void DoSomething(int id, string input, out bool warnUser);
我正在使用 Moq 来测试这段代码,但它不支持 out/ref 参数,因为 Lambda 表达式不支持它们
测试代码
mockService.Verify(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>());
那么,使用 out 参数是不好的做法,如果是,我该怎么做?
【问题讨论】:
-
bool“如何指示警告的实际内容?” -
@Cody - 因为它在我的“真实”代码中是一个有意义的名称 :)
标签: c# lambda moq anti-patterns