【问题标题】:VS2010 VB.NET XML Comments for class field not showingVS2010 VB.NET XML 注释类字段未显示
【发布时间】:2013-07-26 23:12:40
【问题描述】:

在 VS2010 的 VB.NET 项目中,我尝试将 XML cmets (''') 添加到类的字段中。显示 cmets 存在问题:当我将鼠标光标放在 Main() sub 中的成员名称上时,只显示类方法的完整 cmets。

在项目编译选项中“生成 XML 文档文件”复选框被打开;完整的 cmets 通常显示在智能感知列表中(当我在对象名称后键入句点时)。

这是设计使然还是可以更改偏好?

下面的最小代码示例。

''' <summary>
''' Test class
''' </summary>
''' <remarks></remarks>
Public Class TestClass

    ''' <summary>
    ''' Test field
    ''' </summary>
    ''' <remarks></remarks>
    Public s As String

    ''' <summary>
    ''' Test method
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub Method()

    End Sub

End Class

Sub Main()
    Dim c = New TestClass() ' "Class TestClass \ Test class" displayed
    c.s = "abc"             ' Only "Public s As String" displayed!
    c.Method()              ' "Public s As String \ Test method" displayed
End Sub

【问题讨论】:

  • 问题不清楚。一切都按预期工作 - 有什么问题?
  • 我附上了图片来澄清问题。

标签: vb.net visual-studio-2010 comments


【解决方案1】:

当您将鼠标悬停在字段上时,XML cmets 似乎不显示。如果你改变了

Public s As String

到这里:

Public Property s As String

它会起作用的。通常,您不应直接通过Public 公开变量,而应使用属性。您将通过这种方式更好地集成到 .NET(例如 DataBinding)。

看起来这个问题是 VB 特有的,因为 C# 对应的工作没有问题:

/// <summary>
/// Test class
/// </summary>
/// <remarks></remarks>
class TestClass
{
    /// <summary>
    /// Test field
    /// </summary>
    /// <remarks></remarks>
    public String s;

    /// <summary>
    /// Test method
    /// </summary>
    /// <remarks></remarks>
    public void Method() {}

    static void Main(string[] args)
    {
        TestClass c = new TestClass();
        c.s = "abc"; //not a property, but help shows on hover
        c.Method();
    }
}

【讨论】:

  • 好的,这正是我发现的。我正在支持一个 VB.NET 项目(不是我的)并开始整理代码,从添加 cmets 开始。 VB.NET 的这种行为似乎是“设计使然”,但并不完全清楚。我会考虑将变量更改为属性。
【解决方案2】:

仅供参考:在 VS 2012 中已修复; VB.Net 现在显示字段摘要。

【讨论】:

    猜你喜欢
    • 2010-11-22
    • 2022-12-30
    • 2021-08-20
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2010-09-11
    相关资源
    最近更新 更多