Lưu ý: Điều này đã được đăng khi tôi bắt đầu C #. Với kiến thức năm 2014, tôi thực sự có thể nói rằng các thuộc tính tự động là một trong những điều tốt nhất từng xảy ra với ngôn ngữ C #.
Tôi được sử dụng để tạo các thuộc tính của mình trong C # bằng cách sử dụng trường riêng và trường công khai:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
Bây giờ, với .NET 3.0, chúng tôi đã có các thuộc tính tự động:
public string Title { get; set; }
Tôi biết đây không chỉ là một câu hỏi triết học / chủ quan, nhưng có lý do nào để sử dụng các thuộc tính tự động này ngoại trừ việc lưu năm dòng mã cho mỗi lĩnh vực không? Nắm bắt cá nhân của tôi là những tài sản đó đang che giấu tôi, và tôi không phải là một fan hâm mộ lớn của ma thuật đen.
Trong thực tế, trường riêng tư ẩn thậm chí không hiển thị trong trình gỡ lỗi, điều này ổn với thực tế là các hàm get / set không làm gì cả. Nhưng khi tôi thực sự muốn thực hiện một số logic getter / setter, tôi phải sử dụng cặp riêng / công khai.
Tôi thấy lợi ích là tôi tiết kiệm được rất nhiều mã (một so với sáu dòng) mà không mất khả năng thay đổi logic getter / setter sau đó, nhưng sau đó tôi có thể làm điều đó bằng cách chỉ cần khai báo trường công khai "Tiêu đề chuỗi công khai" mà không cần sự cần thiết của {get; bộ; } khối, do đó thậm chí tiết kiệm nhiều mã hơn.
Vì vậy, tôi đang thiếu gì ở đây? Tại sao bất cứ ai thực sự muốn sử dụng tài sản tự động?