[英]Selectively suppress XML Code Comments in C#?
我們向外部客戶提供了許多程序集,但並非所有公共API都得到官方支持。 例如,由於設計選擇不夠理想,有時必須從組件公開公開類型才能使我們的其余代碼工作,但我們不希望客戶使用該類型。 傳達缺乏支持的一部分並不是以XML注釋的形式提供任何智能感知。
有沒有辦法有選擇地抑制XML注釋? 我正在尋找除了忽略警告1591之外的其他事情,因為這是一個長期維護問題。
示例:我有一個包含公共類A和B的程序集.A是官方支持的,應該有XML文檔。 B不適合外部使用,不應記錄在案。 我可以打開XML文檔然后禁止警告1591.但是當我后來添加官方支持的類C時,我希望編譯器告訴我,我已經搞砸了並且沒有添加XML文檔。 如果我在項目級別壓制了1591,就不會發生這種情況。 我想我可以#cragma跨越整個類,但似乎應該有更好的方法來做到這一點。
將這些方法設置為internal
,並將[assembly: InternalsVisibleTo("AssemblyName")]
屬性添加到公開它們的程序集中。
傳達缺乏支持的一部分並不是以XML注釋的形式提供任何智能感知。
你可以用簡單的<summary>來評論這些方法嗎? 不用於外部使用。</ summary>評論?
如何不提供intellisense?
///<summary>A documentation</summary>
public class A { }
///<summary>B documentation. This class is not supported...</summary>
[EditorBrowsable(EditorBrowsableState.Advanced)]
public class B { }
///<summary>C documentation</summary>
public class C { }
這樣,您仍然可以記錄不受支持的類(內部用戶也很重要!)並讓您的外部用戶在intellisense上看不到它們。 在內部,您可以使visual studio“看到”這些高級構造。 EditorBrowsableAttribute
的頁面告訴我們如何:
在Visual C#中,您可以在“工具”下的“智能感知”和“屬性”窗口中使用“隱藏高級成員”設置控制何時顯示高級屬性 選項| 文字編輯器| C#。 相應的EditorBrowsableState為Advanced。
嘗試使用#pragma
指令啟用或禁用特定警告 。
///<summary>some documentation</summary>
public class A{
//...
}
#pragma warning disable 1591
public class B{
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.