Freigeben über


Verarbeiten der XML-Datei (Visual Basic)

Der Compiler generiert eine ID-Zeichenfolge für jedes Konstrukt in Ihrem Code, das zum Generieren der Dokumentation markiert ist. (Informationen zum Markieren des Codes finden Sie unter XML-Kommentartags.) Die ID-Zeichenfolge identifiziert das Konstrukt eindeutig. Programme, die die XML-Datei verarbeiten, können die ID-Zeichenfolge verwenden, um das entsprechende .NET Framework-Metadaten-/Spiegelungselement zu identifizieren.

Die XML-Datei ist keine hierarchische Darstellung des Codes. es handelt sich um eine flache Liste mit einer generierten ID für jedes Element.

Der Compiler beachtet die folgenden Regeln, wenn er die ID-Zeichenfolgen generiert:

  • In der Zeichenfolge wird kein Leerraum platziert.

  • Der erste Teil der ID-Zeichenfolge identifiziert die Art des Elements, das identifiziert wird, mit einem einzelnen Zeichen, gefolgt von einem Doppelpunkt. Die folgenden Membertypen werden verwendet.

Charakter BESCHREIBUNG
N Namespace

Sie können einem Namespace keine Dokumentationskommentare hinzufügen, aber Sie können CREF-Verweise darauf erstellen, sofern diese unterstützt werden.
T Typ: Class, Module, Interface, Structure, Enum, Delegate
F Feld: Dim
P eigenschaft: Property (einschließlich Standardeigenschaften)
M methode: Sub, , Function, DeclareOperator
E Ereignis: Event
! Fehlerzeichenfolge

Der Rest der Zeichenfolge enthält Informationen zum Fehler. Der Visual Basic-Compiler generiert Fehlerinformationen für Verknüpfungen, die nicht behoben werden können.
  • Der zweite Teil des Elements String ist der vollqualifizierte Name des Elements, beginnend mit dem Stamm des Namespaces. Der Name des Elements, seine eingeschlossenen Typen und der Namespace werden durch Punkte getrennt. Wenn der Name des Elements selbst Punkte enthält, werden sie durch ein Rautezeichen (#) ersetzt. Es wird davon ausgegangen, dass kein Element ein Nummernzeichen direkt in seinem Namen hat. Der vollqualifizierte Name des String Konstruktors lautet beispielsweise System.String.#ctor.

  • Bei Eigenschaften und Methoden, wenn argumente für die Methode vorhanden sind, folgt die in Klammern eingeschlossene Argumentliste. Wenn keine Argumente vorhanden sind, sind keine Klammern vorhanden. Die Argumente werden durch Kommas voneinander getrennt. Die Codierung der einzelnen Argumente folgt direkt der Codierung in einer .NET Framework-Signatur.

Beispiel

Der folgende Code zeigt, wie die ID-Zeichenfolgen für eine Klasse und deren Member generiert werden.

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

Siehe auch