Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il compilatore genera una stringa ID per ogni costrutto nel codice contrassegnato per generare la documentazione. Per informazioni su come contrassegnare il codice, vedere Tag di commento XML. La stringa ID identifica in modo univoco il costrutto. I programmi che elaborano il file XML possono usare la stringa ID per identificare l'elemento di reflection/metadati di .NET Framework corrispondente.
Il file XML non è una rappresentazione gerarchica del codice; è un elenco semplice con un ID generato per ogni elemento.
Il compilatore osserva le regole seguenti quando genera le stringhe ID:
Nessuno spazio bianco è collocato nella stringa.
La prima parte della stringa ID identifica il tipo di membro identificato, con un singolo carattere seguito da due punti. Vengono utilizzati i tipi di membro seguenti.
| Personaggio | Descrizione |
|---|---|
| N | Namespace Non è possibile aggiungere commenti di documentazione a uno spazio dei nomi, ma è possibile fare riferimenti CREF ad essi, se supportato. |
| T | type: Class, Module, Interface, Structure, EnumDelegate |
| F | campo: Dim |
| P | property: Property (incluse le proprietà predefinite) |
| M | metodo: Sub, Function, Declare, Operator |
| E | evento: Event |
| ! | stringa di errore Il resto della stringa fornisce informazioni sull'errore. Il compilatore Visual Basic genera informazioni sugli errori per i collegamenti che non possono essere risolti. |
La seconda parte di
Stringè il nome completo dell'elemento, a partire dalla radice dello spazio dei nomi. Il nome dell'elemento, i suoi tipi contenitori e lo spazio dei nomi sono separati da punti. Se il nome dell'elemento stesso contiene punti, questi vengono sostituiti dal segno di numero (#). Si presuppone che nessun elemento abbia un segno numerico direttamente nel nome. Ad esempio, il nome completo delStringcostruttore saràSystem.String.#ctor.Per le proprietà e i metodi, se sono presenti argomenti per il metodo , l'elenco di argomenti racchiuso tra parentesi segue. Se non sono presenti argomenti, non sono presenti parentesi. Gli argomenti sono separati da virgole. La codifica di ogni argomento segue il modo in cui è direttamente codificato in una firma di .NET Framework.
Esempio
Nel codice seguente viene illustrato come vengono generate le stringhe ID per una classe e i relativi membri.
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