Thật không may, điều này chỉ hoạt động đối với bất cứ điều gì bạn thực hiện, nhưng vẫn còn điều gì đó cần lưu ý nếu bạn sử dụng nhiều thư viện của riêng bạn.
Một điều tôi đã làm đối với bất kỳ thư viện nào tôi thực hiện là cố gắng lừa intellisense bằng #define. Trong tuyên bố lớp học của tôi trong tập tin tiêu đề cho bất cứ điều gì thư viện tôi đang làm, tôi bao quanh một phần toàn bộ tin trong một không gian #ifdef, ví dụ
#ifdef MYCLASS_SHOW_PRIVATE_VARIABLES
private:
int hideThisVariable;
float noShow;
void HiddenIncrementFunction();
#endif
Sau đó, trong phần mã của lớp mà tôi cần phải cung cấp các định nghĩa cho tất cả các phương pháp, ở phía trên trước khi đưa tập tin với các khai báo lớp, tôi thêm
#define MYCLASS_SHOW_PRIVATE_VARIABLES
bằng cách này, các thành viên tin chỉ hiển thị cho những phương pháp bạn thực hiện cho lớp học của bạn trong file nguồn. Bất kỳ khách hàng nào sử dụng thư viện này sẽ không thể xem các biến riêng thông qua intellisense, trừ khi tất nhiên chúng xảy ra để xác định chỉ thị xử lý trước của bạn.
Nguồn
2012-09-29 16:28:44
@Keoki Tôi sẽ cố gắng hơn một chút :) – aligray
Bạn đang cố gắng ngăn điều này xảy ra khi khách hàng sử dụng mã của bạn? Tôi nghi ngờ điều đó là có thể. Nếu nó là một thiết lập trong MSVC, mỗi người sử dụng API của bạn sẽ cần phải bật nó. – RageD
@Keoki: Có một số giải pháp Intellisense bên thứ 3 như Visual Assist X, nhưng không được tích hợp trong Visual Studio. – ildjarn