Condividi tramite


Elaborazione del file XML (Visual Basic)

Il compilatore genera una stringa identificativa (ID) per ciascun costrutto del codice che contiene tag per la creazione della documentazione. Per informazioni sull'inserimento di tag nel codice, vedere Tag XML consigliati per i commenti relativi alla documentazione (Visual Basic). L'ID identifica in modo univoco il costrutto. I programmi che elaborano il file XML sono in grado di utilizzare la stringa ID per identificare il corrispondente elemento metadati/reflection di .NET Framework.

Il file XML non è una rappresentazione gerarchica del codice, bensì un normale elenco contenente gli ID generati per ciascun elemento.

Per generare gli ID, il compilatore applica le regole descritte di seguito.

  • La stringa non deve contenere spazi vuoti.

  • La prima parte della stringa ID specifica il tipo di membro da identificare, con un singolo carattere seguito dai due punti. Vengono utilizzati i tipi di membri descritti di seguito.

Carattere

Descrizione

N

Spazio dei nomi

Non è possibile aggiungere commenti relativi alla documentazione a uno spazio dei nomi, ma è possibile creare riferimenti CREF a essi, se supportati.

T

tipo: Class, Module, Interface, Structure, Enum, Delegate

F

campo: Dim

P

proprietà: Property, incluse le proprietà predefinite

M

metodo: Sub, Function, Declare, Operator

E

evento: Event

!

stringa di errore

Nella parte restante della stringa vengono fornite informazioni sull'errore. Il compilatore Visual Basic genera informazioni sugli errori per i collegamenti che non è possibile risolvere.

  • La seconda parte della String identifica il nome completo dell'elemento, a partire dalla radice dello spazio dei nomi. Il nome dell'elemento, i tipi che lo contengono e lo spazio dei nomi sono separati da punti. Se il nome dell'elemento contiene punti, questi verranno sostituiti con il simbolo di cancelletto (#), in base al presupposto che nessun nome di elemento contiene direttamente il simbolo di cancelletto. Ad esempio, il nome completo del costruttore String è System.String.#ctor.

  • Per le proprietà e i metodi, se il metodo ha degli argomenti, verrà incluso di seguito l'elenco degli argomenti racchiuso tra parentesi. Se non vi sono argomenti, non si utilizzeranno le parentesi. Gli argomenti sono separati da virgole. La codifica di ciascun argomento è del tutto simile alla modalità di codifica utilizzata in una firma .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

Vedere anche

Attività

Procedura: creare documentazione XLM in Visual Basic

Riferimenti

/doc