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 , Enum Delegate |
F | Mező: Dim |
P | tulajdonság: Property (az alapértelmezett tulajdonságokat is beleértve) |
H | metódus: Sub , Function , , Declare Operator |
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 aString
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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: