using System; namespace director_propertyNamespace { public class runme { static void Main() { { Foo a = new MyFoo(); if (a.getA() != "") { throw new Exception( "Test failed" ); } a.setA("Hello"); if (a.getA() != "Hello set from MyFoo") { throw new Exception( "Test failed" ); } a.setAByRef("Hello"); if (a.getA() != "Hello setAByRef from MyFoo") { throw new Exception( "Test failed" ); } a.Dispose(); } { Foo a_original = new MyFoo(); Foo a = Foo.get_self(a_original); if (a.getA() != "") { throw new Exception( "Test failed" ); } a.setA("Hello"); if (a.getA() != "Hello set from MyFoo") { throw new Exception( "Test failed" ); } a.setAByRef("Hello"); if (a.getA() != "Hello setAByRef from MyFoo") { throw new Exception( "Test failed" ); } a.Dispose(); } } } public class MyFoo : Foo { public MyFoo() : base() { } public override void setA(string a) { base.setA(a + " set from MyFoo"); } public override void setAByRef(string a) { base.setA(a + " setAByRef from MyFoo"); } } }