public void Dispose()
 {
     if (Marshal.GetExceptionCode() != 0xCCCCCCCC && obj.CheckInvariants())
     {
         throw new ContractViolatedException();
     }
 }
 public void Dispose()
 {
     if (!this.Suppress)
     {
         if (!obj.CheckInvariants())
         {
             throw new ContractViolatedException();
         }
     }
 }