XML ファイルの処理 (Visual Basic)

更新 : 2008 年 7 月

コンパイラは、ドキュメントを生成するためにタグ付けされたコードの構成体ごとに、ID 文字列を生成します。(コードにタグを付ける方法については、「ドキュメント コメントとして推奨される XML タグ (Visual Basic)」を参照してください)。ID 文字列によって、構成体は一意に識別されます。XML ファイルを処理するプログラムは、ID 文字列を使用して、対応する .NET Framework メタデータ/リフレクション項目を識別できます。

XML ファイルは、コードの階層的表現ではなく、要素ごとに生成された ID のあるフラットなリストです。

コンパイラは、次の規則に基づいて ID 文字列を生成します。

  • 生成される文字列に空白は含まれません。

  • ID 文字列の最初の部分には、単一の文字とコロンで、識別されるメンバの種類を示します。使用されるメンバ型は次のとおりです。

    文字

    説明

    N

    名前空間。

    名前空間にはドキュメント コメントを追加できませんが、サポートされている場合は、ドキュメント コメントへの CREF 参照を作成できます。

    T

    型 : Class、Module、Interface、Structure、Enum、Delegate。

    F

    フィールド : Dim。

    P

    プロパティ : Property (既定のプロパティを含む)。

    M

    メソッド : Sub、Function、Declare、Operator。

    E

    イベント : Event。

    !

    エラー文字列。

    エラーに続く文字列で、エラーの内容を示します。Visual Basic コンパイラは、解決できないリンクのエラー情報を生成します。

  • String の 2 番目の部分は、項目の完全修飾名です。名前は、名前空間のルートから始まります。項目の名前、項目が含まれている型、および名前空間は、ピリオド (.) で区切られます。項目の名前自体にピリオドが含まれている場合は、シャープ記号 (#) に置き換えられます。項目の名前にはシャープ記号がないことが前提です。たとえば、String コンストラクタの完全修飾名は System.String.#ctor となります。

  • プロパティおよびメソッドについては、メソッドに引数がある場合は、引数のリストをかっこで囲み、メソッドに続けて指定します。引数がない場合は、かっこはありません。引数の区切り文字には、コンマを使用します。各引数は、.NET Framework のシグネチャでの引数のエンコードとまったく同じ方法でエンコードされます。

使用例

次のコードは、クラスおよびそのメンバの ID 文字列がどのように生成されるかを示します。

Namespace SampleNamespace

  ''' <summary>Signature is 
  ''' "T:SampleNamespace.SampleClass"
  ''' </summary>
  Public Class SampleClass

    ''' <summary>Signature is 
    ''' "M:SampleNamespace.SampleClass.#ctor"
    ''' </summary>
    Public Sub New()
    End Sub

    ''' <summary>Signature is 
    ''' "M:SampleNamespace.SampleClass.#ctor(System.Int32)"
    ''' </summary>
    Public Sub New(ByVal i As Integer)
    End Sub

    ''' <summary>Signature is 
    ''' "F:SampleNamespace.SampleClass.SampleField"
    ''' </summary>
    Public SampleField As String

    ''' <summary>Signature is 
    ''' "F:SampleNamespace.SampleClass.SampleConstant"
    ''' </summary>
    Public Const SampleConstant As Integer = 42

    ''' <summary>Signature is 
    ''' "M:SampleNamespace.SampleClass.SampleFunction"
    ''' </summary>
    Public Function SampleFunction() As Integer
    End Function

    ''' <summary>Signature is 
    ''' "M:SampleNamespace.SampleClass.
    ''' SampleFunction(System.Int16[],System.Int32[0:,0:])"
    ''' </summary>
    Public Function SampleFunction( _
        ByVal array1D() As Short, _
        ByVal array2D(,) As Integer) _
        As Integer
    End Function

    ''' <summary>Signature is 
    ''' "M:SampleNamespace.SampleClass. 
    ''' op_Addition(SampleNamespace.SampleClass,
    '''             SampleNamespace.SampleClass)"
    ''' </summary>
    Public Shared Operator +( _
        ByVal operand1 As SampleClass, _
        ByVal operand2 As SampleClass) _
        As SampleClass

      Return Nothing
    End Operator

    ''' <summary>Signature is 
    ''' "P:SampleNamespace.SampleClass.SampleProperty"
    ''' </summary>
    Public Property SampleProperty() As Integer
      Get
      End Get
      Set(ByVal value As Integer)
      End Set
    End Property

    ''' <summary>Signature is
    ''' "P:SampleNamespace.SampleClass.Item(System.String)"
    ''' </summary>
    Default Public ReadOnly Property Item( _
        ByVal s As String) As Integer

      Get
      End Get
    End Property

    ''' <summary>Signature is 
    ''' "T:SampleNamespace.SampleClass.NestedClass"
    ''' </summary>
    Public Class NestedClass
    End Class

    ''' <summary>Signature is 
    ''' "E:SampleNamespace.SampleClass.SampleEvent(System.Int32)"
    ''' </summary>
    Public Event SampleEvent As SampleDelegate

    ''' <summary>Signature is 
    ''' "T:SampleNamespace.SampleClass.SampleDelegate"
    ''' </summary>
    Public Delegate Sub SampleDelegate(ByVal i As Integer)
  End Class
End Namespace

参照

処理手順

方法 : Visual Basic で XML ドキュメントを作成する

参照

/doc

変更履歴

日付

履歴

理由

2008 年 7 月

コード例を変更

カスタマ フィードバック