Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Le compilateur génère une chaîne d’ID pour chaque construction de votre code étiqueté pour générer la documentation. (Pour plus d’informations sur la façon de baliser votre code, consultez balises de commentaire XML.) La chaîne d’ID identifie de façon unique la construction. Les programmes qui traitent le fichier XML peuvent utiliser la chaîne d’ID pour identifier l’élément de réflexion/métadonnées .NET Framework correspondant.
Le fichier XML n’est pas une représentation hiérarchique de votre code ; il s’agit d’une liste plate avec un ID généré pour chaque élément.
Le compilateur observe les règles suivantes lorsqu’il génère les chaînes d’ID :
La chaîne ne contient aucun espace blanc.
La première partie de la chaîne d’ID identifie le type de membre identifié, avec un caractère unique suivi d’un signe deux-points. Les types de membres suivants sont utilisés.
| Caractère | Descriptif |
|---|---|
| N | Namespace Vous ne pouvez pas ajouter de commentaires de documentation à un espace de noms, mais vous pouvez créer des références CREF vers ceux-ci, lorsque cela est pris en charge. |
| T | type : Class, Module, Interface, Structure, Enum, Delegate |
| F | champ : Dim |
| P | propriété : Property (y compris les propriétés par défaut) |
| M | méthode : Sub, , Function, Declare, Operator |
| E | événement : Event |
| ! | chaîne d’erreur Le reste de la chaîne fournit des informations sur l’erreur. Le compilateur Visual Basic génère des informations d’erreur pour les liens qui ne peuvent pas être résolus. |
La deuxième partie de
Stringest le nom complet de l’élément, commençant à la racine de l’espace de noms. Le nom de l’élément, son ou ses types englobants et l’espace de noms sont séparés par des points. Si le nom de l’élément lui-même contient des points, ils sont remplacés par le signe numérique (#). On suppose qu’aucun élément ne contient le signe dièse directement dans son nom. Par exemple, le nom complet du constructeurStringseraitSystem.String.#ctor.Pour les propriétés et les méthodes, s’il existe des arguments à la méthode, la liste d’arguments placée entre parenthèses suit. S’il n’existe aucun argument, aucune parenthèse n’est présente. Les arguments sont séparés par des virgules. L’encodage de chaque argument suit directement comment il est encodé dans une signature .NET Framework.
Exemple :
Le code suivant montre comment les chaînes d’ID d’une classe et de ses membres sont générées.
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