Это то, с чем я всегда боролся в своем коде. Предположим, что мы имеем следующий код:
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 добавляет к нему бизнес-логику, вы можете быть уверены, всегда звоните, даже если нет текущей бизнес-логики.
Каков общий консенсус?
