Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kompilator generuje ciąg identyfikatora dla każdej konstrukcji w kodzie oznaczonym tagiem w celu wygenerowania dokumentacji. (Aby uzyskać informacje na temat tagowania kodu, zobacz Tagi komentarzy XML). Ciąg identyfikatora jednoznacznie identyfikuje konstrukcję. Programy, które przetwarzają plik XML, mogą używać ciągu identyfikatora do identyfikowania odpowiedniego elementu metadanych/odbicia programu .NET Framework.
Plik XML nie jest hierarchiczną reprezentacją kodu; jest to płaska lista z wygenerowanym identyfikatorem dla każdego elementu.
Kompilator obserwuje następujące reguły podczas generowania ciągów identyfikatorów:
Nie umieszcza się białej spacji w ciągu znaków.
Pierwsza część ciągu identyfikatora określa rodzaj członka za pomocą pojedynczego znaku, po którym następuje dwukropek. Używane są następujące typy członków.
| Charakter | Opis |
|---|---|
| N | Namespace Nie można dodawać komentarzy do dokumentacji do przestrzeni nazw, ale możesz tworzyć odwołania CREF do nich, gdzie są obsługiwane. |
| T | typ: Class, , ModuleInterface, Structure, , EnumDelegate |
| F | pole: Dim |
| P | właściwość: Property (w tym właściwości domyślne) |
| M | metoda: Sub, Function, Declare, Operator |
| E | zdarzenie: Event |
| ! | ciąg błędu Pozostała część ciągu zawiera informacje o błędzie. Kompilator języka Visual Basic generuje informacje o błędach dla linków, których nie można rozpoznać. |
Druga część elementu
Stringto w pełni kwalifikowana nazwa elementu, zaczynająca się od korzenia przestrzeni nazw. Nazwa elementu, jego otaczające typy i przestrzeń nazw są oddzielone kropkami. Jeśli nazwa samego elementu zawiera kropki, są one zastępowane znakiem liczby (#). Zakłada się, że żaden element nie ma znaku liczbowego bezpośrednio w jego nazwie. Na przykład w pełni kwalifikowana nazwa konstruktoraStringtoSystem.String.#ctor.W przypadku właściwości i metod, jeśli istnieją argumenty do metody, lista argumentów ujęta w nawiasy następuje. Jeśli nie ma żadnych argumentów, nie ma nawiasów. Argumenty są oddzielone przecinkami. Kodowanie każdego argumentu jest zgodne z tym, jak jest kodowane w podpisie .NET Framework.
Przykład
Poniższy kod pokazuje, jak są generowane ciągi identyfikatorów klasy i jej składowych.
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