public void TestRWInterfaces() { var obj = new FullAccess(); obj.Value = 1; var test1 = obj.Value; Assert.AreEqual(test1, 1); var writable = obj as IWriter; writable.Value = 2; var readable = obj as IReader; var test2 = readable.Value; Assert.AreEqual(test2, 2); var child = new Child(); child.Value = 3; var test3 = child.Value; Assert.AreEqual(test3, 3); }