Tôi muốn ẩn các phương thức công khai khỏi danh sách thành viên intellisense. Tôi đã tạo một thuộc tính khi áp dụng cho một phương thức sẽ gây ra phương thức được gọi khi đối tượng của nó được xây dựng. Tôi đã làm điều này để hỗ trợ tốt hơn các lớp học một phần. Vấn đề là trong một số môi trường (chẳng hạn như Silverlight), sự phản chiếu không thể truy cập các thành viên riêng ngay cả những thành viên của các lớp con. Đây là một vấn đề vì tất cả công việc được thực hiện trong một lớp cơ sở. Tôi phải làm cho các phương thức này được công khai, nhưng tôi muốn chúng được ẩn khỏi intellisense, tương tự như cách các thuộc tính Obsolete
hoạt động. Thành thật mà nói, bởi vì tôi là hậu môn về đóng gói đối tượng. Tôi đã thử những thứ khác nhau, nhưng không có gì thực sự hiệu quả. Phương thức vẫn hiển thị trong trình đơn thả xuống thành viên.Cách ẩn các phương thức công khai khỏi intellisense
Làm cách nào để giữ cho các phương thức công khai hiển thị trong trạng thái intellisense khi tôi không muốn chúng được gọi bởi khách hàng? Làm thế nào để có một câu hỏi thực sự, Philistines! Điều này cũng có thể áp dụng cho các thuộc tính MEF phải được công khai mặc dù đôi khi bạn muốn ẩn chúng khỏi các máy khách.
Cập nhật: Tôi đã trưởng thành với tư cách là nhà phát triển kể từ khi tôi đăng câu hỏi này. Tại sao tôi quan tâm nhiều đến việc ẩn giao diện là ngoài tôi.
Không công khai chúng nếu bạn không muốn chúng được truy cập/sử dụng. – Oded
Vì vậy, thay vì chỉ thêm các cuộc gọi đến các phương thức trong hàm tạo của một đối tượng, bạn đang thêm các thuộc tính và gọi chúng thông qua sự phản chiếu? Theo như bình luận của bạn về "hỗ trợ tốt hơn một phần các lớp học", không phải là những gì một phần phương pháp được cho? – cadrell0
Triển khai giao diện rõ ràng có thể là một cách tiếp cận thay thế để xem xét. Các phương thức sau đó không phải là một phần của API công khai của lớp, nhưng chỉ hiển thị thông qua giao diện. –