Freigeben über


Verarbeiten der XML-Datei (Visual Basic)

Aktualisiert: Juli 2008

Für jedes Konstrukt, das zum Generieren von Dokumentation gekennzeichnet ist, wird vom Compiler eine ID-Zeichenfolge generiert. (Informationen zum Kennzeichnen des Codes finden Sie unter Empfohlene XML-Tags für Dokumentationskommentare (Visual Basic).) Das Konstrukt wird von der ID-Zeichenfolge eindeutig identifiziert. Programme, von denen die XML-Datei verarbeitet wird, können das entsprechende .NET Framework-Metadaten-/Reflektionselement mithilfe der ID-Zeichenfolge identifizieren.

Die XML-Datei enthält keine hierarchische Darstellung des Codes. Es handelt sich um eine unstrukturierte Liste mit einer generierten ID für jedes Element.

Die folgenden Regeln werden vom Compiler beim Generieren der ID-Zeichenfolgen beachtet:

  • Die Zeichenfolge darf keine Leerräume enthalten.

  • Der erste Teil der ID-Zeichenfolge kennzeichnet die Art des zu identifizierenden Members durch ein einzelnes Zeichen, gefolgt von einem Doppelpunkt. Die folgenden Membertypen werden verwendet.

    Zeichen

    Beschreibung

    N

    Namespace

    Einem Namespace können keine Dokumentationskommentare hinzugefügt werden. Sie können jedoch CREF-Verweise hinzufügen, falls 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, Declare, Operator

    E

    Ereignis: Event

    !

    Fehlerzeichenfolge

    Der verbleibende Teil der Zeichenfolge enthält Fehlerinformationen. Vom Visual Basic-Compiler werden Fehlerinformationen für Links generiert, die nicht aufgelöst werden können.

  • Beim zweiten Teil von String handelt es sich um den vollqualifizierten Namen des Elements, beginnend mit dem Stamm des Namespaces. Der Name des Elements, der bzw. die einschließende(n) Typ(en) und der Namespace sind durch Punkte getrennt. Wenn der Name des Elements selbst Punkte enthält, werden sie durch ein Nummernzeichen (#) ersetzt. Es wird vorausgesetzt, dass kein Element ein Nummernzeichen direkt im Namen aufweist. Der vollqualifizierte Name des String-Konstruktors würde beispielsweise System.String.#ctor lauten.

  • Wenn es sich bei Eigenschaften und Methoden um Argumente der Methode handelt, folgt die in Klammern eingeschlossene Argumentliste. Wenn keine Argumente vorhanden sind, werden keine Klammern verwendet. Die Argumente werden durch Kommas voneinander getrennt. Die Codierung jedes Arguments erfolgt genauso wie die Codierung in einer .NET Framework-Signatur:

Beispiel

Im folgenden Codebeispiel wird die Generierung der ID-Zeichenfolgen für eine Klasse und deren Member dargestellt:

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

Aufgaben

Gewusst wie: Erstellen einer XML-Dokumentation in Visual Basic

Referenz

/doc

Änderungsverlauf

Date

Versionsgeschichte

Grund

Juli 2008

Überarbeitetung des Codebeispiels

Kundenfeedback.