tôi có một tài sản được xác định như ...C# tài sản với getter mã hóa cứng và setter
public List<Obj> Objs { get; set; }
Những gì tôi muốn để có thể làm là đặt một số logic vào method get, vì vậy nó sẽ trông một cái gì đó như ...
public List<Obj> Objs
{
get
{
if (Objs == null)
{
Objs = new List<Obj>();
}
if (Objs.Count < 1)
{
Objs.Add(new Obj());
}
return Objs;
}
set { Objs = value; }
}
Bây giờ khi tôi làm điều này, tôi nhận được thông báo lỗi cho biết rằng Hàm đang đệ quy trên tất cả các đường dẫn.
Có cách nào để thực hiện việc này mà không tạo trường sao lưu riêng tư không?
Đừng làm vậy.http://msdn.microsoft.com/en-us/library/ms182327.aspx – SLaks
Tại sao bạn không thể làm điều đó với trường sao lưu? – Default
Thật đáng kinh ngạc khi mọi người sáng tạo khi lạm dụng một hệ thống mà họ đang làm việc. Và may mắn cho bạn trình biên dịch đủ thông minh để biết bạn đang cố gắng lạm dụng hệ thống, nếu không câu hỏi sẽ là "tại sao ứng dụng của tôi treo" –