private string _name; —— 封裝存儲,強制經由屬性存取。get
{
// 價格不能為負
return _price >= 0 ? _price : 0;
}
反例:在 get 中修改字段或拋出副作用(如拼接字符串)屬不良實踐。void 方法,可含驗證、轉換、事件觸發等邏輯。public/private/protected/internal/protected internal。static 與 virtual/abstract/override 互斥。public string Name { get; set; }
編譯器自動生成:
<Name>k__BackingField)。get/set 直接讀寫該字段。限制:無法在存取器中注入自定義邏輯;需邏輯時必須展開為常規屬性。