在Rhino Mocks框架中连接2个约束的确切语法是什么?

时间:2013-12-06 08:03:55

标签: c# unit-testing rhino-mocks rhino rhino-mocks-3.5

我在Rhino源代码中看到以下代码:

// Summary:
//     Or operator for constraints
public static AbstractConstraint operator |(AbstractConstraint c1, AbstractConstraint c2);

但在实践中,我可以使用 | ||

同样,& && 的工作方式相同。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

这实际上是一个C#问题。您不能直接重载条件逻辑运算符 - &&||,以便重载它们,程序员必须重载&|,{{1} }和true运算符,这些运算符用于计算包含false&&运算符的表达式。 this article中的更多详细信息。

关于Rhino Mocks,他选择以阻止short circuiting的方式实施||true运算符,并使false&&运算符等效到||&,ILSpy输出:

|