Partilhar via


Processando o arquivo XML (Visual Basic)

O compilador gera uma cadeia de caracteres de ID para cada construção em seu código que é marcada para gerar documentação. (Para obter informações sobre como marcar seu código, consulte Tags de comentário XML.) A cadeia de caracteres ID identifica exclusivamente a construção. Os programas que processam o arquivo XML podem usar a cadeia de caracteres de ID para identificar o item de metadados/reflexão do .NET Framework correspondente.

O arquivo XML não é uma representação hierárquica do seu código; é uma lista simples com um ID gerado para cada elemento.

O compilador observa as seguintes regras quando gera as cadeias de caracteres de ID:

  • Nenhum espaço em branco é colocado na cadeia de caracteres.

  • A primeira parte da cadeia de caracteres ID identifica o tipo de membro que está sendo identificado, com um único caractere seguido por dois pontos. Os seguintes tipos de membros são usados.

Caráter Description
N espaço de nomes

Não é possível adicionar comentários de documentação a um namespace, mas é possível fazer referências CREF a eles, quando suportado.
T Tipo: Class, Module, Interface, Structure, Enum, Delegate
F domínio: Dim
P propriedade: Property (incluindo propriedades padrão)
Seg método: Sub, Function, Declare, , Operator
E Evento: Event
! seqüência de erro

O restante da cadeia de caracteres fornece informações sobre o erro. O compilador do Visual Basic gera informações de erro para links que não podem ser resolvidos.
  • A segunda parte do é o String nome totalmente qualificado do item, começando na raiz do namespace. O nome do item, o(s) seu(s) tipo(s) de inclusão, e o namespace são separados por pontos. Se o nome do item em si contiver pontos, eles serão substituídos pelo sinal numérico (#). Supõe-se que nenhum item tenha um sinal numérico diretamente em seu nome. Por exemplo, o nome totalmente qualificado do String construtor seria System.String.#ctor.

  • Para propriedades e métodos, se houver argumentos para o método, a lista de argumentos entre parênteses segue. Se não houver argumentos, não há parênteses. Os argumentos são separados por vírgulas. A codificação de cada argumento segue diretamente como ele é codificado em uma assinatura do .NET Framework.

Exemplo

O código a seguir mostra como as cadeias de caracteres de ID para uma classe e seus membros são geradas.

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

Consulte também