Przetwarzanie pliku XML (Visual Basic)
Kompilator generuje ciąg Identyfikatora dla każdego konstrukcji w kodzie, który jest oznakowany do generowania dokumentacji.(Aby uzyskać informacje o tagu kodu, zobacz Zalecane tagów XML dla komentarzy dokumentacji (Visual Basic).) Ciąg Identyfikatora jednoznacznie identyfikuje konstrukcji.Programy, które przetwarzają pliku XML można użyć ciągu Identyfikatora do identyfikacji odpowiednich .NET Framework element metadanych/odbicia.
Plik XML nie jest Hierarchiczna reprezentacja kodu; jest płaska lista z wygenerowany identyfikator dla każdego elementu.
Generując ciągi identyfikatorów, kompilator przestrzega następujących zasad:
Nie światło jest umieszczone w ciągu.
Pierwsza część ciąg Identyfikatora identyfikuje rodzaj Członkowskie identyfikowane z pojedynczego znaku, po której następuje dwukropek.Używane są następujące typy Członkowskich.
Znak |
Opis |
N |
obszar nazw Dokumentację komentarzy nie można dodać do obszaru nazw, ale można wprowadzać CREF odwołania do nich, w przypadku gdy jest to obsługiwane. |
T |
type: Class, Module, Interface, Structure, Enum,Delegate |
F |
pola:Dim |
P |
Właściwości: Property (w tym właściwości domyślnych) |
M |
method: Sub, Function, Declare,Operator |
E |
zdarzenia:Event |
! |
ciąg błędu Pozostałe ciąg zawiera informacje o błędzie.Visual Basic Kompilator generuje informacje o błędach dla łączy, którego nie można rozpoznać. |
Druga część String jest w pełni kwalifikowaną nazwę elementu, zaczynając od katalogu głównego obszaru nazw.Nazwa elementu, jego otaczający typ(-y) i obszaru nazw są oddzielonych kropkami.Jeśli nazwa sam element zawiera okresy, są zastąpione przez znak numeru (#).Zakłada się, że żaden element posiada znak numeru bezpośrednio w jego nazwę.Na przykład, w pełni kwalifikowanej nazwy String byłby konstruktor System.String.#ctor.
Dla właściwości i metody Jeśli argumenty tej metody, lista argumentów w nawiasach następuje.Jeśli nie istnieją żadne argumenty, nawiasy nie są obecne.Argumenty są oddzielone przecinkami.Kodowanie każdego argumentu następuje bezpośrednio jak jest zakodowana w .NET Framework podpisu.
Przykład
Poniższy kod ilustruje, jak identyfikator ciągi dla klasy i generowane są jego członków.
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
Zobacz też
Zadania
Jak: tworzenie dokumentacji XML w języku Visual Basic