我有这样的评论:
/// <summary>some summary</summary>
/// <param name="a">
/// <para id="0">Comment 0</para>
/// <para id="1">Comment 1</para>
/// <para id="2">Comment 2</para>
/// </param>
/// <param name="b">
/// <para id="1">Comment 3</para>
/// <para id="0">Comment 4</para>
/// </param>
void InterfaceMethod(int a, int b);
对于实施方法,我希望使用相同的文档,但不使用id="0"
的{{1}}段,使用inheritdoc
。
如何创作inheritdoc
元素?
在此上下文中不常见地使用id
属性将增加不与文档中出现的段落顺序相关联的灵活性。
答案 0 :(得分:0)
我找到了一个解决方案,但看起来很麻烦。
/// <summary><inheritdoc/></summary>
/// <param name="a"><inheritdoc select="node()[parent::node()[@name='a'] and @id>0]"/></param>
/// <param name="b"><inheritdoc select="node()[parent::node()[@name='b'] and @id>0]"/></param>
public void InterfaceMethod(int a, int b) { }
作为it is not possible to use XPath expressions as a filter,必须重复param
个元素。
表达式@id>0
(>
需要转义)现在只选择预期的段落。
但是其他标记怎么样?
嵌套的inheritdoc
元素将选择所有 param
个节点的内容,因此我们必须在父级的name属性上添加条件。
最后,inheritdoc
标记中的summary
标记会复制摘要。如果我们在根级别放置inheritdoc
,则会再次选择param
,如here所述。