0

我有这样的评论:

/// <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", using inheritdoc. 如何创作inheritdoc元素?

在此上下文中不常见的id属性使用应增加灵活性,使其不受文档中出现的段落顺序的约束。

4

1 回答 1

0

我找到了一个解决方案,但它看起来很麻烦。

/// <summary><inheritdoc/></summary>
/// <param name="a"><inheritdoc select="node()[parent::node()[@name='a'] and @id&gt;0]"/></param>
/// <param name="b"><inheritdoc select="node()[parent::node()[@name='b'] and @id&gt;0]"/></param>
public void InterfaceMethod(int a, int b) { }

由于无法将 XPath 表达式用作过滤器,因此param必须重复元素。表达式@id>0>需要转义)现在只选择预期的段落。

但是其他标记呢?嵌套inheritdoc元素会选择所有 param节点的内容,所以我们必须在父节点的name属性上添加一个条件。

最后,inheritdoc标签内的summary标签会复制摘要。如果我们将 ainheritdoc放在根级别,这将再次选择,如此param所述。

于 2012-03-06T13:34:08.967 回答