Это то, с чем я всегда боролся в своем коде. Предположим, что мы имеем следующий код:
public class MyClass {
private string _myVariable;
public string MyVariable {
get { return _myVariable; }
set { _myVariable = value; }
}
public void MyMethod() {
string usingPrivateMember = _myVariable; // method A
string usingPublicProperty = MyVariable; // method B
}
}
Какой путь является более правильным - метод A или B? Я всегда разорван об этом. Метод A кажется, что это было бы намного быстрее, из-за того, что ему не нужно было перейти к собственности до получения реальной переменной. Тем не менее, метод B более безопасен, потому что если getter для MyVariable добавляет к нему бизнес-логику, вы можете быть уверены, всегда звоните, даже если нет текущей бизнес-логики.
Каков общий консенсус?