.NET 4.0 New Feature - 程式碼合約(Code Contracts) (二) 三大合約
[ContractInvariantMethod]
void ObjectInvariant()
{
Contract.Invariant(MyProperty >= 0);
}
public int MyProperty { get; set; }
[ContractInvariantMethod]
void ObjectInvariant()
{
Contract.Invariant(MyProperty >= 0);
} 這邊我們來反組譯了解一下其運作原理,反組譯後可發現Code Contract偷偷的幫我們在裡面造了兩個私有欄位<MyProperty>k_backingField與$evaluatingInvariant$。 <img alt="" src="\images\posts\17516