Нам часто говорять, що ми повинні захищати інкапсуляцію шляхом створення методів getter та setter (властивості в C #) для класових полів, а не піддавати дії поля зовнішнього світу.
Але буває багато разів, коли поле є просто там, щоб утримувати значення і не вимагає жодних обчислень для отримання чи встановлення. Для цього ми всі зробили б це число:
public class Book
{
private string _title;
public string Title
{
get{ return _title; }
set{ _title = value; }
}
}
Ну, у мене є зізнання, я не міг терпіти все це (насправді, писати це не довелося, треба було дивитись на нього), тому я пішов ізгоєм і використовував публічні поля.
Потім йде C # 3.0, і я бачу, що вони додали автоматичні властивості:
public class Book
{
public string Title {get; set;}
}
що охайніше, і я вдячний за це, але насправді, що таке інше, ніж просто зробити публічне поле?
public class Book
{
public string Title;
}
prop
Фрагмент коду дозволяє швидко створювати властивості. Просто введіть prop
потім вкладку.