【问题标题】:Filter content of inherited param comments过滤继承的参数注释的内容
【发布时间】:2012-03-20 20:32:43
【问题描述】:

我有这样的 cmets:

/// <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" 的段落,使用inheritdoc。 如何创作inheritdoc 元素?

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

【问题讨论】:

    标签: xml-documentation shfb inheritdoc


    【解决方案1】:

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

    /// <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) { }
    

    作为it is not possible to use XPath expressions as a filterparam 元素必须重复。 表达式 @id&gt;0&gt; 需要转义)现在只选择预期的段落。

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

    最后,summary 标记中的inheritdoc 标记将复制摘要。如果我们在根级别放置inheritdoc,这将再次选择param,如here 所述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-16
      • 2015-10-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 2016-05-20
      • 2023-03-10
      • 2013-08-31
      相关资源
      最近更新 更多