Một mặt, tôi biết rằng việc sử dụng nên các tài sản là phải có một lĩnh vực ủng hộ, như trong ví dụ sau:Thuộc tính lĩnh vực sao lưu - Điều gì là tốt cho?
private int m_Capacity;
public int Capacity
{
get { return m_Capacity > 0 ? m_Capacity : -666; }
set { m_Capacity = value; }
}
Mặt khác, những gì lợi ích nào tôi nhận được từ việc sử dụng các ví dụ trên trên loại bỏ trường và chỉ sử dụng thuộc tính cho tất cả các mục đích, như trong ví dụ sau:
public int Capacity
{
get { return Capacity > 0 ? Capacity : -666; }
set { Capacity = value; }
}
Điều gì tốt về việc sử dụng trường sao lưu cho thuộc tính thông thường (không được tự động triển khai)?
Bạn không thấy rằng ví dụ thứ hai của bạn dẫn đến StackOverflowExceptions? Bạn đã viết nó đúng chưa? Bạn hiện đang tham chiếu tài sản từ chính bản thân tài sản. –
Bạn hoàn toàn chính xác. Tôi không nghĩ điều này thông qua tôi cũng không chạy mã. – galbarm
@Alex Humphrey: .. từ bên trong bản thân tài sản trong chính tòa nhà trong chính tòa nhà .. – maxwellb