Wertebereich der Eigenschaftssicherung

Ist so etwas möglich? Ich nehme nicht an, aber essieht gut aus mir:

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

Natürlich weiß ich, dass diese Syntax falsch ist, und dies wird nicht kompiliert. Es war hypothetisch-Zukunfts-C #, um meine Idee klar darzustellen. Ich entschuldige mich für die etwas hypothetische Frage, aber es ist zu spezifisch für Programmierer.SE.

So etwas könnte in dem Compiler implementiert werden, der einen Zweck erfüllen würde: Nur die Eigenschaft zulassenget undset Zugriffsmethoden, die das Feld anzeigen, ermöglichen im Wesentlichen, dass die Eigenschaft in sich geschlossen ist (wie dies bei automatisch implementierten Eigenschaften der Fall ist), und ermöglichen gleichzeitig zusätzliche get / set-Logik.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage