标签: xml-documentation

我应该如何编写XML注释以避免在摘要和返回标记之间重复?

当方法的目的是计算一个值并将其返回时,我发现自己将其记录如下:

/// <summary>
/// Calculates the widget count.
/// </summary>
/// <param name="control">The control to calculate the widget count of.</param>
/// <returns>The widget count.</returns>
Run Code Online (Sandbox Code Playgroud)

这里的returns标签没有提供任何新的信息:它只是重复了什么summary.(唯一的例外是返回的方法bool,在那里可以很容易地解释一下什么是truefalse返回值的意思.)

我错过了什么吗?是否有标准的XML文档块措辞方法,以避免summaryreturns标签之间的重复?

c# documentation comments xml-documentation

16
推荐指数
1
解决办法
3613
查看次数

我可以将XML文档从接口传播到其实现吗?

我需要将XML文档从基类传播到衍生物或从接口传播到实现.

我可以使用Resharper吗?

resharper xml-documentation visual-studio

14
推荐指数
1
解决办法
2899
查看次数

"/// <exclude />"是什么意思?

我继承了一堆C#代码.对于几个方法定义,我发现///<exclude/>它是前面唯一的XMLDoc.我试图谷歌的意思,但没有成功.有人可以解释一下这可能意味着什么吗?

c# xml-documentation

14
推荐指数
1
解决办法
2516
查看次数

实现类是否可以从其实现的接口"继承"XML注释?

好奇的问题.我正在使用Microsoft的Sandcastle从我的C#代码中的XML注释生成文档.我的几个类正在实现已经有注释方法的接口.我宁愿不在接口方法和公共实现方法中复制文档.是否有某种标签我可以用来从界面"继承"这个文档?

sandcastle xml-documentation visual-studio

13
推荐指数
2
解决办法
3739
查看次数

C#xml文档:如何创建Notes?

我想在我自己的文档中的这个MSDN页面的备注部分中实现与黄色'注意:'框类似的东西.

我正在使用sandcastle和sandcastle帮助文件构建器从文档标签生成参考网站.为了获得这样的便签盒,我需要写些什么?

c# tags xml-documentation

12
推荐指数
1
解决办法
2311
查看次数

单行上的Visual Studio XML摘要注释

在Visual Studio中,如何将默认的XML摘要注释片段从三行更改为一行?

目前,当我输入时,它会提供以下代码段///:

/// <summary>
/// 
/// </summary>
Run Code Online (Sandbox Code Playgroud)

我想要这个更短的片段:

///<summary></summary>
Run Code Online (Sandbox Code Playgroud)

我的摘要通常很简短,额外的2行是不必要的.

是否有此配置设置或某些可自定义的代码/自定义插件来解决此问题.

comments xml-documentation code-documentation visual-studio

12
推荐指数
1
解决办法
4861
查看次数

在编写xml文档时,如何在方法摘要中引用方法参数?

假设我有一个方法如下:

    /// <summary>
    /// Here I want to reference the parameter <see cref="personId"/>.
    /// </summary>
    /// <param name="personId">
    /// The person id.
    /// </param>
    /// <returns>
    /// The <see cref="Person"/>.
    /// </returns>
    public Person GetPerson(int personId)
    {

    }
Run Code Online (Sandbox Code Playgroud)

当我使用sandcastle发布我的xml文档时,cref:

<see cref="personId"/>
Run Code Online (Sandbox Code Playgroud)

转换为[!:personId].

Sandcastle的警告是:

'未知参考链接目标'

有什么建议?谢谢.

c# sandcastle xml-documentation visual-studio

12
推荐指数
1
解决办法
2163
查看次数

VS2015CE中<para> </ para>和<para />显示的额外空白行无法摆脱它

当我在Visual Studio 2015 Community Edition中使用<para></para>文档中的标记(也以同样的形式<para />)时,我在IntelliSense工具提示中显示了一个额外的空白行(在输入成员名称时出现的那一行).

我尝试了很多变体,包括但不限于以下示例中列出的变体:

public interface IFooBar {
    ///<summary>foo<para>bar</para><para>baz</para></summary>
    void Foo();
    ///<summary>foo
    ///<para>bar</para>
    ///<para>baz</para>
    ///</summary>
    void Bar();
    ///<summary>foo<para />bar<para />baz</summary>
    void Baz();
    ///<summary>foo<para />
    ///bar
    ///<para />baz
    ///</summary>
    void Qux();    
}
Run Code Online (Sandbox Code Playgroud)

但它仍然出现,这是令人愤怒的.如果有人知道如何摆脱它,请帮助我.

更新(图片上传)

例

更新2(用C#中的XML多行注释消除歧义- 我做错了什么?)

问题不在于在XML注释中获取新行,我知道如何获取.它是关于在使用标签时删除额外的新行<para />.

c# xml-documentation visual-studio-2015

11
推荐指数
1
解决办法
817
查看次数

XML文档中的引用运算符

我想在<see cref="..." /> XML文档标记中引用一个运算符,但我似乎无法找到有关如何执行此操作的任何提示.此标记上的MSDN文章仅显示引用方法的简单示例,但不介绍可以引用的不同类型的成员.

特别是,我想引用一个隐式转换运算符,但是也可以理解引用运算符的一般规则.


比方说,我们有一个简单的结构,我们将其定义==,!=并且隐式转换操作符:

public struct MyStructure
{
    public int Value { get; set; }

    public static bool operator ==(MyStructure x, MyStructure y) => x.Value == y.Value;

    public static bool operator !=(MyStructure x, MyStructure y) => x.Value != y.Value;

    public static implicit operator MyStructure(int i) => new MyStructure { Value = i };
}
Run Code Online (Sandbox Code Playgroud)

只需足够的人可以引用该Value属性<see cref="MyStructure.Value" />,但如何引用==运算符?我显然试图<see cref="MyStructure.==" />和 …

.net c# xml-documentation

11
推荐指数
2
解决办法
1077
查看次数

如何/在何种情况下Delphi xml注释中的<see>标签实际上有效?

我想知道这些XML引用是如何工作的,我只是不知道它们为什么工作或为什么它们不起作用而我没有发现任何相关信息.

这是一个例子:

type
  TOuterClass= class
  strict private
    type
      TLogger = class
      public
        /// <summary>adds a log entry</summary>
        /// <param name="Msg">text to log</param>
        procedure Log(const Msg: string);
      end;
  strict private
    FLogger: TLogger;
  public
    /// <summary>adds a log entry</summary>
    /// <param name="Msg">text to log</param>
    /// <remarks>just calls <see cref="TOuterClass.TLogger.Log" />
    /// </remarks>
    procedure Log(const Msg: string);

    property Logger: TLogger read FLogger;
  end;
Run Code Online (Sandbox Code Playgroud)

TOuterClass.Log注释中的链接不起作用.Delphi XE5只是考虑它然后放弃了.

另一个很简单的例子:

Unit MyUnit

type
  /// <summary>MyType Comment</summary>
  TMyType = reference to procedure;

/// <param name="MyTypeParam"><see cref="MyUnit.TMyType" /></param>
procedure …
Run Code Online (Sandbox Code Playgroud)

delphi xml-documentation xml-comments

10
推荐指数
1
解决办法
1043
查看次数