加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

有选择地抑制C#中的XML代码注释?

发布时间:2020-12-15 06:44:47 所属栏目:百科 来源:网络整理
导读:我们向外部客户提供了许多程序集,但并非所有公共API都得到官方支持.例如,由于设计选择不是最佳,有时必须从组件公开公开类型才能使我们的其余代码工作,但我们不希望客户使用该类型.传达缺乏支持的一部分并不是以 XML注释的形式提供任何智能感知. 有没有办法有
我们向外部客户提供了许多程序集,但并非所有公共API都得到官方支持.例如,由于设计选择不是最佳,有时必须从组件公开公开类型才能使我们的其余代码工作,但我们不希望客户使用该类型.传达缺乏支持的一部分并不是以 XML注释的形式提供任何智能感知.

有没有办法有选择地抑制XML注释?我正在寻找除了忽略警告1591之外的其他事情,因为这是一个长期维护问题.

示例:我有一个包含公共类A和B的程序集.A是官方支持的,应该有XML文档. B不适合外部使用,不应记录在案.我可以打开XML文档然后禁止警告1591.但是当我稍后添加官方支持的类C时,我希望编译器告诉我,我已经搞砸了并且没有添加XML文档.如果我在项目级别压制了1591,就不会发生这种情况.我想我可以#cragma跨越整个类,但似乎应该有更好的方法来做到这一点.

解决方法

如何不提供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的页面告诉我们如何:

In Visual C#,you can control when advanced properties appear in IntelliSense and the Properties Window with the Hide Advanced Members setting under Tools | Options | Text Editor | C#. The corresponding EditorBrowsableState is Advanced.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读