Wenn ich eine Eigenschaft habe, die ich Erben schreiben lassen möchte, aber nur extern lesen, was ist der bevorzugte Weg, dies zu implementieren? Ich gehe normalerweise mit so etwas:Was ist der beste Weg, um eine Eigenschaft zu implementieren, die readonly für die Öffentlichkeit, aber für Erben schreibbar ist?
private object m_myProp;
public object MyProp
{
get { return m_myProp; }
}
protected void SetMyProp(object value)
{
m_myProp = value;
}
Gibt es einen besseren Weg?
Das 'protected' Feld wird sich als überlegen erweisen, wenn es nötig ist, irgendwelche' Interlocked' Methoden zu verwenden. Ich finde es merkwürdig, dass C# Ereignisdelegaten mit dem gleichen Namen wie die Ereignisse aufdeckt, aber keine Autoeigenschaften-Sicherungsvariablen überhaupt aufdeckt. – supercat