Zakres wartości kopii zapasowej właściwości

Czy coś takiego jest możliwe? Zakładam, że nie, ale towygląda dobrze Dla mnie:

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!
    }
}

Oczywiście wiem, że ta składnia jest niepoprawna i nie będzie się kompilować. To było hipotetycznie przyszłe C # ze względu na wyraźne przedstawienie mojego pomysłu. Przepraszam za nieco hipotetyczne pytanie, ale jest ono zbyt specyficzne dla programistów.SE.

Coś takiego może zostać zaimplementowane w kompilatorze, który będzie służył jednemu celowi: zezwalaj tylko na właściwościget iset akcesory, aby zobaczyć pole, zasadniczo pozwalając właściwości być samowystarczalne (jak właściwości zaimplementowane automatycznie), pozwalając jednocześnie na dodatkową logikę get / set.

questionAnswers(6)

yourAnswerToTheQuestion