Dela via


Bearbeta XML-filen (Visual Basic)

Kompilatorn genererar en ID-sträng för varje konstruktion i koden som är taggad för att generera dokumentation. (Information om hur du taggar koden finns i XML-kommentarstaggar.) ID-strängen identifierar konstruktionen unikt. Program som bearbetar XML-filen kan använda ID-strängen för att identifiera motsvarande .NET Framework-metadata/reflektionsobjekt.

XML-filen är inte en hierarkisk representation av koden. det är en platt lista med ett genererat ID för varje element.

Kompilatorn observerar följande regler när den genererar ID-strängarna:

  • Inget tomt utrymme placeras i strängen.

  • Den första delen av ID-strängen identifierar vilken typ av medlem som identifieras, med ett enda tecken följt av ett kolon. Följande medlemstyper används.

Tecken beskrivning
N namnområde

Du kan inte lägga till dokumentationskommentare i ett namnområde, men du kan göra CREF-referenser till dem, där det stöds.
T typ: Class, Module, Interface, Structure, , Enum, Delegate
F Fältet: Dim
P egenskap: Property (inklusive standardegenskaper)
M method: Sub, Function, , Declare, Operator
E Händelse: Event
! felsträng

Resten av strängen innehåller information om felet. Visual Basic-kompilatorn genererar felinformation för länkar som inte kan lösas.
  • Den andra delen av String är det fullständigt kvalificerade namnet på objektet, med början i roten i namnområdet. Namnet på objektet, dess omslutande typer och namnområdet avgränsas med punkter. Om namnet på själva objektet innehåller punkter ersätts de med nummertecknet (#). Det antas att inget objekt har ett nummertecken direkt i sitt namn. Till exempel skulle konstruktorns String fullständigt kvalificerade namn vara System.String.#ctor.

  • Om det finns argument för metoden för egenskaper och metoder följer argumentlistan omgiven av parenteser. Om det inte finns några argument finns inga parenteser. Argumenten avgränsas med kommatecken. Kodningen av varje argument följer direkt hur det kodas i en .NET Framework-signatur.

Exempel

Följande kod visar hur ID-strängarna för en klass och dess medlemmar genereras.

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

Se även