Ich schätze diese Frage ist ein wenig albern, so entschuldige ich mich im Voraus, wenn das Thema nicht oder nicht konstruktiv ist.Warum definieren Sie den Getter vor dem Setter (Codierungskonvention)
Warum ist es in C# Standardkonvention *, Eigenschaften mit dem Getter vor dem Setter zu definieren? Bei Eigenschaften mit beiden wird der Setter fast immer vor dem Getter verwendet, damit er in einem gültigen Zustand ist. Daher erscheint es mir etwas rückständig, dass wir den Getter zuerst definieren.
Außerdem würde der Setter normalerweise eine Validierungslogik haben, die der Getter nicht benötigt. Wäre es nicht klüger, diese Logik dem Getter vor Augen zu führen, um klarer zu machen, wie sich das Eigentum verhalten soll? Zum Beispiel:
public decimal Price
{
get { return _price; }
set
{
if(value < 0m)
{
throw new ArgumentOutOfRangeException();
}
_price = value;
OnPropertyChanged("Price");
}
}
der Code in dem Setter ist viel interessanter als Getter, sollte es nicht Vorrang hat und zuerst definiert werden?
* Ich weiß, dass es keine Regeln mit diesen Dingen gibt, aber praktisch jedes Beispiel, jemals Eigenschaften definiert den Getter vor dem Setter.
was ist mit alphabetischer Reihenfolge? –
Man musste zuerst sein. Wenn es umgekehrt wäre, würde wahrscheinlich jemand fragen, warum der Setzer normalerweise zuerst definiert wurde. – Polyfun
Eclipse schlägt auch "erste Getter, dann Setter" und nicht "erste Setter dann Getters" vor. http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/ref-dialog-gettersetter.htm –