2

VS2010 の VB.NET プロジェクトで、クラスのフィールドに XML コメント (''') を追加しようとしました。コメントの表示に問題があります。Main() サブのメンバー名の上にマウス カーソルを置くと、クラス メソッドの完全なコメントのみが表示されます。

プロジェクトのコンパイル オプションで、[XML ドキュメント ファイルを生成] チェックボックスがオンになっています。完全なコメントは通常、IntelliSense リストに表示されます (オブジェクト名の後にピリオドを入力すると)。

それは設計によるものですか、それとも設定で変更できますか?

ここに画像の説明を入力

以下に配置された最小限のコードサンプル。

''' <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
4

2 に答える 2

1

フィールドにカーソルを合わせると、XML コメントが表示されないようです。変えたら

Public s As String

これに:

Public Property s As String

それが動作します。一般に、変数を直接公開せず、Public代わりにプロパティを使用する必要があります。この方法 (DataBinding など) で .NET への統合が向上します。

この問題は 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();
    }
}
于 2012-11-26T14:46:52.887 に答える
0

参考までに: VS 2012 で修正されました。VB.Net がフィールドの概要を表示するようになりました。

于 2013-07-26T15:12:40.247 に答える