public class A { public static int Main () { var a = new A (); a.Test (); if (a.Properties.P2.Value != 1) return 1; return 0; } S s = new S (55); void Test () { Properties.P2.Value = 1; } internal S Properties { get { return s; } } } struct S { C c; public S (int i) { c = new C (); } public C P2 { get { return c; } } } class C { public int Value; }