Tôi có lớp sau đây:"Chỉ đọc" tài sản accessor trong C#
class SampleClass
{
private ArrayList mMyList;
SampleClass()
{
// Initialize mMyList
}
public ArrayList MyList
{
get { return mMyList;}
}
}
tôi muốn người dùng có thể nhận được mMyList đó là lý do tôi tiếp xúc với "nhận được" thông qua một tài sản tuy nhiên tôi không muốn thay đổi họ thực hiện cho đối tượng (ví dụ: MyList.Add (new Class());) để thực hiện theo cách của mình trở lại lớp học của tôi.
Tôi đoán tôi có thể trả lại bản sao của đối tượng nhưng có thể chậm và tôi đang tìm cách cung cấp lỗi biên dịch thông báo cho người dùng rằng họ không nên mong đợi có thể sửa đổi giá trị trả về từ Thuộc tính.
Điều này có khả thi không?
câu hỏi liên quan: http://stackoverflow.com/question/681287/how-to-a-reference-type-property-readonly –
Có 'Danh sách: ReadOnlyCollection ' trong .NET 4.5 thay đổi bất kỳ điều này? http://www.infoq.com/news/2011/10/ReadOnly-WInRT/ –