当使用类不变量时,代码合约似乎会在各个地方注入代码。像这样的东西:
失败并显示错误信息。
[ContractClassFor(typeof(IX))]
interface IXContract
{
[ClassInvariant]
void Invariant() { ... }
}
[ContractClass(typeof(IXContract))]
interface IX { event EventHandler b; }
var a = new Mock<IX>();
a.Raise(x => x.b += null);
失败并显示错误信息。
Could not locate event for attach or detach method Void $InvariantMethod$().
有人知道解决方案吗?
ClassInvariant
属性是从哪里来的? - Jonn