我应该为代理方法使用什么文档标记

时间:2015-07-06 17:26:58

标签: c# xml-documentation

假设我有这样的代码:

class A
{
    /// <summary>
    /// Some important text here
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <param name="c"></param>
    public void Method1(int a, int b, int c)
    {
    }
}
class B
{
    private A a = new A();

    // I'd like to show A.Method1 documentation here
    public void Method1(int a, int b, int c)
    {
        this.a.Method1(a, b, c);
    }
}

是否有任何标准文档标记(例如标准足以在Visual Studio中显示正确的文档)可以实现这一目标?

我想做这样的事情:

/// <SomeMagicTag ref="A.Method1" />
public void Method1(int a, int b, int c)

并在我使用A.Method1时让visual studio向我展示B.Method1的文档。

2 个答案:

答案 0 :(得分:0)

您可以使用cref属性来引用A类方法。

  

XML文档标记中的cref属性表示&#34;代码引用。&#34;它指定标记的内部文本是代码元素,例如类型,方法或属性

查看Microsoft文档: cRef Attribute

答案 1 :(得分:0)

我有点想通了。遗憾的是,这种方法对于visual studio intellisense不起作用(至少在VS2013中不起作用),但它确实适用于sandcastle帮助文件构建器。

以下是我的问题中的编辑示例,说明如何执行此操作:

/// <inheritdoc cref="A.Method1" />
public void Method1(int a, int b, int c)

可以使用select属性进一步自定义,该属性可以包含xpath查询,以便仅从引用的注释继承选定的标记。