Wie man eine schreibgeschützte Eigenschaft implementiert
Ich muss ein @ implementierschreibgeschütz Eigenschaft auf meinem Typ. Darüber hinaus wird der Wert dieser Eigenschaft im Konstruktor festgelegt und nicht geändert (ich schreibe eine Klasse, die benutzerdefinierte Routing-UI-Befehle für WPF verfügbar macht, aber das spielt keine Rolle).
Ich sehe zwei Möglichkeiten:
class MyClass
{
public readonly object MyProperty = new object();
}
class MyClass
{
private readonly object my_property = new object();
public object MyProperty { get { return my_property; } }
}
Mit all diesen FxCop-Fehlern, die besagen, dass ich keine öffentlichen Member-Variablen haben sollte, scheint es, dass der zweite der richtige Weg ist, dies zu tun. Richtig
Gibt es in diesem Fall einen Unterschied zwischen einer get only-Eigenschaft und einem read only-Member?
Ich würde mich über Kommentare / Ratschläge / etc. freuen.