Hãy tưởng tượng bạn có một lớp được định nghĩa như sau.C# Tài liệu tham khảo; Giữ thành viên Thành viên ẩn danh
public class SomeClass
{
public Manager m { get; protected set; }
public SpecialData data { get; protected set; }
//More methods and member code here...
}
Tôi cần lớp người quản lý của mình bằng cách nào đó có thể thay đổi tham chiếu đã đặt cho thành viên SpecialData. Tôi có thể làm điều này với một con trỏ đôi hoặc bạn bè lớp trong C + +, nhưng tùy chọn đó không có sẵn trong C#, thật đáng buồn. Làm thế nào để giữ cho SpecialData được bảo vệ khỏi những người dùng bên ngoài thiết lập nó, trong khi vẫn cho phép lớp Manager kiểm soát thiết lập? Tôi có thể làm điều này với từ khóa nội bộ, nhưng điều đó dường như không vô cùng an toàn hay sạch ...
Any help is appreciated rất nhiều.
Bạn có thể giải thích lý do tại sao bạn cho rằng 'nội bộ' không an toàn hoặc không sạch? Bạn có nghĩa là nó là như vậy nói chung, hoặc là bạn cho thấy nó không phù hợp với thiết kế cụ thể của bạn? Tôi có thể nói đây là một giải pháp hoàn hảo ở đây, mặc dù sự thật được bảo rằng tôi không chắc chắn tại sao bạn muốn làm điều này ngay từ đầu. – decPL