public void Test2(SomeClassWithANonReadonlyField obj) { Contract.Requires(obj != null); var str = obj.TheString_FromANonReadonlyField; Contract.Assert(str != null); // no warning }