在RhinoMocks中,有Stub扩展方法,需要Action<T>
。出于某种原因:
CurrentInvoice.Stub(i => i.TaxYear).Return(1);
效果很好,但是这个:
CurrentInvoice.Stub(new Action<Invoice>(i => i.TaxYear)).Return(1);
产生编译错误: 只有赋值,调用,递增,递减和新对象表达式才能用作语句
此方法的intellisense明确表示它期望Action<Invoice>
,所以我无法理解为什么第一个有效,而不是第二个。
这与我的主要相关性是,我希望能够将这些配置lambda中的一些作为参数传递给方法,并且我遇到了同样的问题。
由于
答案 0 :(得分:3)
你确定你没有意外地使用Stub
的重载,第一行需要Func<T, TResult>
吗?我不明白为什么第一次通话会起作用。
您是否有API文档的链接?