我有一個接口,它有許多方法。在Intellisense中,我不應該在實現類中看到這些方法。我怎樣才能做到這一點?隱藏接口方法在Visual Studio
回答
宣佈你可以用你的方法EditorBrowsableAttribute方法的提示。
EditorBrowsableAttribute指定某個屬性或方法在編輯器中可見。 EditorBrowsableAttribute是一個提示指示的屬性或方法是否是要顯示的設計者。您可以在可視化設計器或文本編輯器中使用此類型來確定用戶可見的內容。例如,Visual Studio中的IntelliSense引擎使用此屬性來確定是否顯示屬性或方法。
喜歡的東西
[EditorBrowsable(EditorBrowsableState.Never)]
public void GetId()
{
}
你將需要明確落實。
如果你的界面:
interface IFoo{
void DoSomething();
}
那麼你可以實現一個明確的類象下面這樣:
class Foo : IFoo {
void IFoo.DoSomething();
}
話雖這麼說,你可能想考慮你爲什麼要這麼做。一個接口通常用來定義一個給定類型的對象的能力約定。想要隱藏它可能是設計過程中誤入歧途的一種氣味。當然,使用顯式實現也有很多有效的情況。例如。 Dictionary對IEnumerable>中的很多方法都有明確的實現。但隱藏應該比規則更加例外。
如果聲明接口類型的方法將顯示,如果聲明,他們將不會顯示具體類型的成員/變量的變量/成員。因爲你通常應該prefere到具體的類接口,這又是你可能在想原因找想要隱藏在接口
謝謝,這是有意義的我...其實這是一個面試問題,你能告訴我,如果有,我們可以隱藏任何其他方式intellisense中的接口方法? – Neelima 2012-01-19 13:51:36
@Neilima這是一個非常奇怪的面試問題,至少有兩個原因。 1)沒有完美的答案。使用該屬性只能在程序集外部工作,並且顯式實現不適用於此目的。 2)這是一個你知道的事情,或者你不質疑。這些類型的問題,不告訴你什麼關於受訪者的大約只有他或她的記憶,但對他們的設計,分析或一般問題解決 – 2012-01-20 09:11:35
非常感謝符文....我認爲,智能感知能力沒什麼profficiency當我們明確地實施它時不會支持。這意味着,當我們寫一個接口名稱和加一個點,我們不應該在intellisene方法名......可能是我需要回答,「在明確的執行,我們不會得到IntelliSense支持」 ... :) – Neelima 2012-01-24 19:07:58
- 1. 隱藏接口的方法
- 2. 接口實現隱藏方法
- 3. Visual Studio:隱藏ifdef塊
- 4. 如何在Java中隱藏父接口的方法?
- 5. 如何隱藏DataGridViewComboBoxColumn的下拉箭頭,如Visual Studio Properties窗口?
- 6. Visual Studio 2010禁用鼠標懸停以顯示隱藏窗口
- 7. 方法隱藏
- 8. 隱藏Visual Studio工具欄(無全屏)
- 9. 從Visual Studio Test Explorer隱藏測試
- 10. 隱藏Visual Studio錯誤列表
- 11. 隱藏所有Visual Studio工具欄?
- 12. 的母公司非通用接口方法通用接口隱藏
- 13. Visual Studio接口評論Inherence?
- 14. Visual Studio C++實現接口
- 15. Golang用額外的隱藏方法嵌入了一個接口?
- 16. Visual Studio - 自動實現接口中的所有繼承方法
- 17. 無法連接在Visual Studio
- 18. 方法在Java中隱藏
- 19. 最簡單的方法來隱藏類的一部分'公共方法/接口
- 20. 隱藏在OOPS中的接口實現
- 21. C#方法隱藏
- 22. 如何在Visual Studio中顯示調用堆棧,Immediates和其他隱藏窗口
- 23. 在Visual Studio 2010 IDE中自動隱藏停靠窗口的動畫
- 24. 無法隱藏鏈接
- 25. 在Visual Studio的解決方案樹中隱藏源代碼控制文件
- 26. 在Visual Studio 2017中隱藏生成的js文件
- 27. 如何避免在Visual Studio下的名稱隱藏警告?
- 28. 在Visual Studio Online中隱藏已關閉的功能
- 29. 如何在Visual Studio 2008中取消隱藏Debug - > Attach to Process?
- 30. 在Visual Studio中使用設計視圖時隱藏母版頁
只要使用同一個程序集中的代碼,EditorBrowsable將被忽略 – 2012-01-15 15:21:47
感謝您的寶貴回答:) – Neelima 2012-01-19 13:52:11