Megosztás a következőn keresztül:


Az XML-fájl feldolgozása (Visual Basic)

A fordító létrehoz egy azonosító sztringet a kód minden olyan szerkezetéhez, amely fel van címkézve a dokumentáció létrehozásához. (A kód címkézéséről további információt a XML-megjegyzéscímkék.) Az azonosító sztring egyedileg azonosítja a szerkezetet. Az XML-fájlt feldolgozó programok az azonosító sztring használatával azonosíthatják a megfelelő .NET-keretrendszer metaadatokat/tükröződési elemet.

Az XML-fájl nem a kód hierarchikus ábrázolása; ez egy lapos lista, amely minden elemhez generált azonosítót tartalmaz.

A fordító a következő szabályokat követi az azonosító sztringek létrehozásakor:

  • A sztringben nincs szabad terület.

  • Az azonosító sztring első része az azonosított tagtípust azonosítja egyetlen karakterrel, amelyet kettőspont követ. A rendszer a következő tagtípusokat használja.

Karakter Leírás
N névtér

Nem adhat hozzá dokumentációs megjegyzéseket egy névtérhez, de cref-hivatkozásokat is létrehozhat rájuk, ahol támogatott.
T típus: Class, Module, Interface, Structure, EnumDelegate
F Mező: Dim
P tulajdonság: Property (az alapértelmezett tulajdonságokat is beleértve)
H metódus: Sub, Function, , DeclareOperator
E Esemény: Event
! hibasztring

A sztring többi része információt nyújt a hibáról. A Visual Basic fordító hibainformációkat hoz létre a nem feloldható hivatkozásokhoz.
  • A második rész az String elem teljes neve, a névtér gyökerétől kezdve. Az elem neve, a hozzá tartozó típus(ok) és a névtér pontokkal vannak elválasztva. Ha magának az elemnek a neve pontokat tartalmaz, azokat a számjel (#) váltja fel. Feltételezzük, hogy egyetlen elem sem rendelkezik közvetlenül a nevében számjellel. A konstruktor teljes neve például a String következő: System.String.#ctor.

  • Tulajdonságok és metódusok esetén, ha a metódus argumentumai vannak, a zárójelek közé foglalt argumentumlista a következő. Ha nincsenek argumentumok, nincsenek zárójelek. Az argumentumokat vesszők választják el egymástól. Az egyes argumentumok kódolása közvetlenül követi az .NET-keretrendszer-aláírás kódolását.

Példa

Az alábbi kód bemutatja, hogyan jönnek létre az osztály és annak tagjai azonosító sztringjei.

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

Lásd még