Valor de respaldo de propiedad alcance

¿Es algo como esto posible? Estoy asumiendo que no, perose ve bien a mi:

class MyClass {
    public int Foo {
        get { return m_foo; }
        set {
            // Bounds checking, or other things that prevent the use
            // of an auto-implemented property
            m_foo = value;
        }

        // Put the backing field actually *in* the scope of the property
        // so that the rest of the class cannot access it.
        private int m_foo;
    }

    void Method() {
        m_foo = 42;    // Can't touch this!
    }
}

Por supuesto, sé que esta sintaxis es incorrecta, y esto no se compilará. Era hipotético-futuro-C # por el bien de retratar claramente mi idea. Me disculpo por la pregunta un tanto hipotética, pero es demasiado específica para Programmers.SE.

Algo como esto podría implementarse en el compilador que serviría a un propósito: permitir solo la propiedadget yset los accesores pueden ver el campo, esencialmente permitiendo que la propiedad sea autónoma (como lo son las propiedades implementadas automáticamente) al tiempo que permite la lógica adicional de obtener / establecer.

Respuestas a la pregunta(6)

Su respuesta a la pregunta