简短的回答:AFAIK 没有。
XML 注释对于第三方将使用的公开公开的方法很有用。由于我添加到应用程序中的几乎所有面向公众的功能都是通过契约接口完成的,(有助于测试能力)我将把注释放在接口声明上,并在上面使用 <see cref="..."/>执行。
界面:
///<summary>
/// Provides so-in-so fetching functionality on the provided criteria.
/// Examples, parameters, etc.
///</summary>
IEnumarable<Something> FetchSomethingsBaseOnCriteria(params Criteria[] criteria);
执行
///<summary>
/// <see cref="ISomethingDoer.FetchSomethingsBasedOnCriteria"/>
///</summary>
IEnumarable<Something> ISomethingDoer.FetchSomethingsBaseOnCriteria(params Criteria[] criteria)
{
// Get fetching...
}
不确定大多数文档生成器是否具有解决来自 <see/> 的注释的智能我相信 Sandcastle 具有 <Inheritdoc/> 标记,这将允许它获取基本接口的注释。http://www.ewoodruff.us/shfbdocs/html/79897974-ffc9-4b84-91a5-e50c66a0221d.htm
在您使用多态接口的地方,这可能不起作用。(我认为您不能在中间接口中覆盖声明/注释)
对于内部使用和私有代码,我不理会注释,因为它通常是解释显而易见的额外开销。它们太容易失去同步,在这种情况下它们开始误导用户或需要被忽略。(“评论的谎言。”——干净的代码)我依靠 BDD 风格的单元测试来描述我打算用代码做什么,并用描述性代码来描述自己。