Compartir a través de


Procesar el archivo XML (Visual Basic)

Actualización: Julio de 2008

El compilador genera una cadena id. por cada construcción del código marcada para generar documentación. (Para obtener información sobre cómo etiquetar el código, vea Etiquetas XML recomendadas para comentarios de documentación (Visual Basic).) La cadena id. identifica de forma exclusiva cada construcción. Los programas que procesan el archivo XML pueden utilizar la cadena id. para identificar el elemento de metadatos o reflexión correspondiente en .NET Framework.

El archivo XML no es una representación jerárquica del código, es una lista sencilla con un identificador generado para cada elemento.

El compilador cumple las siguientes reglas cuando genera las cadenas id.:

  • No se coloca ningún espacio en blanco en la cadena.

  • La primera parte de la cadena de id. identifica el tipo de miembro por medio de un único carácter seguido de dos puntos. Se utilizan los siguientes tipos de miembros:

    Carácter

    Descripción

    N

    Espacio de nombres

    No se pueden agregar comentarios de documentación a un espacio de nombres, pero, si se admiten, se pueden hacer referencias CREF a ellos.

    T

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

    F

    campo: Dim

    P

    propiedad: Property (incluidas las propiedades predeterminadas)

    M

    método: Sub, Function, Declare, Operator

    E

    evento: Event

    !

    cadena de error

    El resto de la cadena proporciona información acerca del error. El compilador de Visual Basic genera información de error para los vínculos que no se pueden resolver.

  • La segunda parte de String es el nombre completo del elemento, que comienza en la raíz del espacio de nombres. El nombre del elemento, los tipos contenedores y el espacio de nombres se separan mediante puntos. Si el propio nombre del elemento contiene puntos, éstos se reemplazan por el signo (#). Se supone que ningún elemento contiene un signo # directamente en su nombre. Por ejemplo, el nombre completo del constructor de String sería System.String.#ctor.

  • Para propiedades y métodos, si existen argumentos para el método, la lista de argumentos que se encuentra entre paréntesis aparece a continuación. Si no existen argumentos, no se escribe ningún paréntesis. Los argumentos se separan por comas. La codificación de cada argumento indica directamente cómo se codifica en una firma de .NET Framework.

Ejemplo

Los siguientes ejemplos muestran cómo se generarían las cadenas de id. para una clase y sus miembros:

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

Vea también

Tareas

Cómo: Crear documentación XML en Visual Basic

Referencia

/doc

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Ejemplo de código revisado.

Comentarios de los clientes.