- using System; 
-   
- public class Test 
- { 
- 	struct Foo { 
- 		public int A {get;set;} 
- 		public void SetA(int a) { 
- 			A = a; 
- 		} 
- 	} 
-   
- 	class Bar { 
- 		Foo f; 
- 		public Foo F {get{return f;} set {f = value;}} 
- 		public void SetFooA(int x) { 
- 			f.SetA(x); 
- 		} 
- 	} 
-   
- 	public static void Main() 
- 	{ 
- 		Bar b = new Bar(); 
- 		b.F.SetA(123); 
- 		Console.WriteLine("{0}", b.F.A); 
- 		b.SetFooA(456); 
- 		Console.WriteLine("{0}", b.F.A); 
- 		b.F = new Foo { A = 112233 }; 
- 		Console.WriteLine("{0}", b.F.A); 
- 	} 
- } 
				dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJc3RydWN0IEZvbyB7CgkJcHVibGljIGludCBBIHtnZXQ7c2V0O30KCQlwdWJsaWMgdm9pZCBTZXRBKGludCBhKSB7CgkJCUEgPSBhOwoJCX0KCX0KCQoJY2xhc3MgQmFyIHsKCQlGb28gZjsKCQlwdWJsaWMgRm9vIEYge2dldHtyZXR1cm4gZjt9IHNldCB7ZiA9IHZhbHVlO319CgkJcHVibGljIHZvaWQgU2V0Rm9vQShpbnQgeCkgewoJCQlmLlNldEEoeCk7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJQmFyIGIgPSBuZXcgQmFyKCk7CgkJYi5GLlNldEEoMTIzKTsKCQlDb25zb2xlLldyaXRlTGluZSgiezB9IiwgYi5GLkEpOwoJCWIuU2V0Rm9vQSg0NTYpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJ7MH0iLCBiLkYuQSk7CgkJYi5GID0gbmV3IEZvbyB7IEEgPSAxMTIyMzMgfTsKCQlDb25zb2xlLldyaXRlTGluZSgiezB9IiwgYi5GLkEpOwoJfQp9