【问题标题】:NewLine in object summary对象摘要中的新行
【发布时间】:2011-08-28 23:02:09
【问题描述】:

问候

在为属性/字段/方法等设置摘要时。是否可以在其中添加换行符?

/// <summary>
/// This is line 1
/// This is line 2
/// </summary>
public bool TestLine { get; set; }

当我设置它时,它显示为鼠标悬停:

bool TestLine
This is line 1 This is line 2

但我希望它显示为:

bool TestLine
This is line 1 
This is line 2

我尝试过使用\n,但这不起作用。有什么办法可以做到吗?

【问题讨论】:

    标签: c# newline summary


    【解决方案1】:

    你想用这样的东西

    /// <summary> 
    /// Your Main comment 
    /// <para>This is line 1</para> 
    /// <para>This is line 2</para> 
    /// </summary> 
    public bool TestLine { get; set; }
    

    【讨论】:

    • @YetAnotherUser,空行呢?
    • @Behzad 尝试使用&lt;para&gt;&amp;nbsp;&lt;/para&gt;
    • 在 Visual Studio 2017 IDE 中,上面的“解决方案”实际上在第 1 行和第 2 行之间显示了一个单独的 BLANK LINE(即第 1 行之后的换行符,然后是空行,然后是第 2 行) - 这与 OP 要求的新行不同。这是 VS 2017 IDE 中的一个错误 - 还是每个投票的人都没有看到这个答案没有产生 OP 显示为所需输出的内容?
    • 这是一个新段落,而不是一个新行。我觉得文档语法有些限制。
    【解决方案2】:

    是的:

    /// <summary> 
    /// Main comment 
    /// <para>Line 1</para> 
    /// <para>Line 2</para> 
    /// </summary> 
    public bool TestLine { get; set; }
    

    【讨论】:

      【解决方案3】:

      您可以合法地添加 para 标记,但这实际上会为每个新行创建一个新段落,并且行距会消失。
      我个人在段落周围添加了 1 个段落,然后在我想要中断的行的末尾添加了 br 标签,这样可以保持不错的行距:

      /// <summary> 
      /// <para>Main comment<br /> 
      /// Line 1<br />
      /// Line 2</para> 
      /// </summary>
      public bool TestLine { get; set; }
      

      【讨论】:

      • 这不起作用,并且与 的间距没有任何关系。你用的是什么版本的 VS/.Net?
      • HTML 标签将被summary 忽略,即使它们在para 标签内。
      【解决方案4】:

      如果您希望摘要中包含多行而不使其变得复杂,我建议您使用这种格式。如果您在每一行之后使用
      标签,它将起作用。
      (在文本内的任何位置使用它都会在标签所在的位置创建一个新行。)

      不过,请注意,如果您在
      标记之后有一个空格,那么您会在下一行得到一个额外的空格。所以你希望每一行都有相同的空间,所以每一行都会是一条直线。

      /// <summary>
      /// This is line 1<br />
      /// This is line 2<br />
      /// This is line 3<br />
      /// </summary>
      public bool TestLine { get; set; }
      

      【讨论】:

      • 在寻找解决方案之前我尝试的第一件事,因为那不起作用!
      • 这似乎确实有效。使用 Visual Studio 2019。
      【解决方案5】:

      我只是为像我一样使用 Xamarin Studio 的任何人添加这个。我发现上述解决方案都不适合我,但这个解决方案可以:

      /// <summary>
      /// Main summarry line.
      /// <para></para>
      /// <para></para>
      /// Your secondary summary
      /// </summary>
      

      这给出了以下输出:

      Summary  
      Main summary line.
      
      Your secondary summary
      

      【讨论】:

        【解决方案6】:

        如果您使用的是 Swashbuckle(Swagger Web API 集成库),则应将 &lt;para&gt;&lt;/para&gt; 替换为 &lt;p&gt;&lt;/p&gt;,并且也可以使用 &lt;br/&gt;

        所以下面

            /// <para>
            ///     Flag1, Flag2
            ///     - bool flags, optional.
            /// </para>
        

        变成

            /// <p>
            ///     Flag1, Flag2<br/>
            ///     - bool flags, optional.
            /// </p>
        

        这里已经描述了这个问题: How to add line break to Swashbuckle documentation? - 使用特殊配置,domaindrivendev 的评论, https://github.com/domaindrivendev/Swashbuckle/issues/258 - 使用 &lt;br/&gt;

        【讨论】:

          【解决方案7】:

          您可以使用&lt;para /&gt; 在摘要中添加新行:

          /// <summary> 
          /// Main comment<para />
          /// Line 1<para />
          /// Line 2<para />
          /// </summary>
          public bool TestLine { get; set; }
          

          看起来像:

          Main comment
          Line 1
          Line 2
          

          最好的问候!

          【讨论】:

          • 看起来像:Main comment&lt;br/&gt;&lt;br/&gt;Line 1&lt;br/&gt;&lt;br/&gt;Line 2
          【解决方案8】:

          这可能是一个旧线程,但我在使用 Visual Studio 2019 时正在寻找答案。我想要段落和换行符。以下对我很有效:

          /// <summary>
          /// <para>parameter name="guidType" options:</para>
          /// <br>0 = SequentialAsString</br>
          /// <br>1 = SequentialAsBinary</br>
          /// <br>2 = SequentialAtEnd</br>
          /// </summary>
          

          产生以下内容:

          parameter name="guidType" options:
          
          0 = SequentialAsString
          1 = SequentialAsBinary
          2 = SequentialAtEnd
          

          【讨论】:

          • 对于 VS2019 及更高版本,这个答案在技术上比公认的答案更正确。
          • 你也可以在VS2019的行尾使用
            。这些解决方案会产生实际的换行符,而不是带有空行的新段落!谢谢
          • 在 Rider 中,
            标签后面的所有内容都不会显示。但是以 结尾的行按预期工作
          猜你喜欢
          • 2020-09-06
          • 1970-01-01
          • 2015-12-31
          • 1970-01-01
          • 2016-03-07
          • 2021-09-01
          • 1970-01-01
          • 2017-02-13
          • 1970-01-01
          相关资源
          最近更新 更多