При использовании инвариантов классов кажется, что контракты кода внедряют код повсюду. Подобные вещи
[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$().
Кто-нибудь знает решение?