public abstract class A
    {
        public abstract int Z
        {
            get;
            set;
        }
        public class B : A
        {
            private int m_z;
            public override int Z
            {
                get { return this.m_z; }
                set { this.m_z = value; }
            }
            public static void Main() 
            {
             Z.m_z=23;
             Console.WriteLine(Z.m_z);
            }
        }
    }