Thực tiễn tốt là sử dụng trường riêng tư hay thuộc tính, khi viết mã trong lớp có chứa chúng?Trong lớp chứa, sử dụng thuộc tính hoặc trường?
Ví dụ: nếu tôi có cặp trường/thuộc tính này, các lớp bên ngoài lớp này phải sử dụng thuộc tính. Điều gì về mã số bên trong lớp học? Nó có nên sử dụng trường tư nhân hay nó cũng đi qua tài sản?
private string _foo;
protected string Foo
{
get { return this._foo; }
}
private void SomeMethod()
{
string dummyVariable = "snuh" + this._foo; // So, this...
string dummyVariable = "snuh" + this.Foo; // ... or this?
}
Một lợi thế của việc sử dụng thuộc tính ở đây, nếu có bất kỳ logic nào trong bộ khởi động, nó vẫn sẽ được thực hiện. Tôi tò mò muốn biết nếu có một chính sách thực hành tốt nhất để làm theo ở đây.
** Ý kiến ** của tôi là nó không quan trọng (vì tài sản của bạn không làm gì đặc biệt) miễn là bạn nhất quán, nhưng tôi tò mò những gì người khác nói. – Tung
có thể trùng lặp với [Thực tiễn tốt nhất về sử dụng cục bộ Trường tư nhân x Thuộc tính] (http://stackoverflow.com/questions/833047/best-practice-on-local-use-of-private-field-x-property) – Matt
Lưu ý về danh pháp: Bạn đang sử dụng cụm từ "biến" không chính xác. Trong trường hợp này, bạn có nghĩa là "trường". –