2017-04-17 29 views
-1

我需要限制對類智能感知中某些方法的訪問。我不希望這種方法在其他一些類中的intellisense中完全消失。我的意思是這些方法在智能感知中的可見性取決於想要使用該方法的類。如何使用C#代碼訪問intellisesne?我想爲方法定義屬性,然後根據每個客戶端訪問級別定製智能感知。 謝謝。如何獲取智能感知實例來自定義其方法列表?

+0

你可能想檢查像http://stackoverflow.com/questions/9086136/how-to-hide-public-methods-from-intellisense – Progman

回答

0

我找到了答案。我應該使用EditorBrowsableAttribute。它有一個屬性,應該設置爲從不。像這樣: [EditorBrowsable(EditorBrowsableState.Never)] public void myMethod(){} MsDN說這個設置隱藏了程序集外的項目的方法。但是,當我測試它時,它隱藏了來自intellisense的解決方案之外的項目中添加了我的dll的方法。但它並沒有將它隱藏在我的解決方案中的項目中,並且擁有該DLL。我不知道爲什麼,但無論如何它解決了我們的問題。

0

您可以使用類方法的一個子集創建一個接口,並僅對接口進行工作。這樣IntelliSense只能看到來自接口的方法,而不是實現接口的類的附加方法。

+0

相關的問題謝謝普羅格曼,但這並不能解決我的問題,公司的其他團隊顯然不能改變他們的注入界面。 – seti