【问题标题】:C# XML /// Comments, where does <returns></returns> tag show up?C# XML /// 注释,<returns></returns> 标签出现在哪里?
【发布时间】:2009-12-04 07:21:37
【问题描述】:

我目前是一名编程学生,显然我的问题很简单,但我一直无法在网上找到答案。所以这里是:

在 C# 中的 XML /// cmets 中,&lt;returns&gt; 标记在哪里显示,我知道当您将鼠标悬停在方法调用上时,&lt;summary&gt; 标记中包含的所有内容都会显示在智能感知中,但不是返回标签。

那么&lt;returns&gt;标签是从哪里来的呢?

谢谢。

【问题讨论】:

    标签: c# xml-comments


    【解决方案1】:

    当你在 View >> Object Browser 中看到方法时

    例如你会看到这样的东西:

    private int GetColumnIndex(Microsoft.Office.Interop.Excel.Worksheet worksheet, string columnName, int rowIndex, int startColumnIndex)
        Member of MyAddIn.CommandHandlers.CommandHandler
    
    Summary:
    Returns the column index with specified name and in specified row
    
    Parameters:
    worksheet: Target worksheet
    columnName: Column name to find
    rowIndex: Row index in which to search the column
    startColumnIndex: Start index of the column
    
    Returns:
    The index of column if found, else returns 0
    

    【讨论】:

      【解决方案2】:

      如果您从 cmets 生成 API 文档,它将显示在 Return value 部分,as seen here,就在 Remarks 部分之前。

      【讨论】:

        【解决方案3】:

        当您选择在编译时构建 XML 文档文件时,XML 文档 cmets 中包含的所有内容都会被复制到该文件中。然后像Sandcastle 这样的程序可以从中构建类似于 MSDN 的 HTML 文档。

        据我所知,它没有显示在 Visual Studio 自己的 IntelliSense 中。但这不是不在那里写东西的借口:-)。例如 ReSharper 的 Ctrl+Q 确实显示它。

        【讨论】:

          【解决方案4】:

          对于那些可能试图找到东西的人。这可能不是最好的方法,但恕我直言,它确实使将鼠标悬停在方法名称上时方法的作用更容易理解。

                  /// <summary>
                  /// Adds a new post given the mapped PostDTO and userId <br></br><br></br>
                  /// <b>Returns</b> the newly created object, otherwise null.
                  /// </summary>
                  /// <param name="postDTO"></param>
                  /// <param name="userId"></param>
                  PostDTO addPost(PostDTO postDTO, long userId);
          

          通过这种方式,您可以在 VS(至少在 VS 2019 中)中看到一些东西,就像在下一张图片中一样,根据我的经验,在尝试理解其他人编写的代码时,至少您可以知道会发生什么,无论是实际的 @ 987654324@或null,或任何场景。

          我希望它对其他人有用。

          【讨论】:

            【解决方案5】:

            其他部分(基本上任何异常summary)不会出现在智能感知中。它们只打算出现在从 XML 生成的文档中,使用像 Sandcastle 这样的工具。

            【讨论】:

            • 这不是真的。在您在消费代码中输入参数之前,参数(包括类型参数)会显示在智能中。这是一个非常有用的功能,可帮助您了解在参数中输入的内容。
            • 注释的抛出异常也会出现,但只显示它们的类型而不是关联的 cmets。
            • 参数描述还可以作为方法中这些变量的描述,无论是在键入时还是作为悬停文本。这可能是一个新功能(?)。
            猜你喜欢
            • 2011-01-28
            • 2021-12-23
            • 2021-08-24
            • 2022-12-02
            • 2023-02-05
            • 2022-12-01
            • 1970-01-01
            • 2019-07-17
            • 1970-01-01
            相关资源
            最近更新 更多