Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Компилятор создает строку идентификатора для каждой конструкции в коде, помеченной для создания документации. (Сведения о тегах кода см. в тегах комментариев XML.) Строка идентификатора однозначно идентифицирует конструкцию. Программы, обрабатывающие XML-файл, могут использовать строку идентификатора для идентификации соответствующего элемента метаданных и отражения .NET Framework.
XML-файл не является иерархическим представлением кода; Это плоский список с созданным идентификатором для каждого элемента.
Компилятор наблюдает следующие правила при создании строк идентификатора:
Пробелы в строку не вставляются.
Первая часть строки идентификатора определяет тип идентифицируемого элемента с одним символом, за которым следует двоеточие. Используются следующие типы элементов.
| Персонаж | Описание |
|---|---|
| Н | пространство имен К пространству имен нельзя добавлять комментарии документации, но на них можно делать ссылки CREF, если это поддерживается. |
| Т | тип: Class, , ModuleInterfaceStructure, EnumDelegate |
| Ф | поле: Dim |
| П | свойство: Property (включая свойства по умолчанию) |
| M | метод: Sub, , FunctionDeclareOperator |
| Е | событие: Event |
| ! | Строка ошибки Остальная часть строки содержит сведения об ошибке. Компилятор Visual Basic создает сведения об ошибках для ссылок, которые не могут быть разрешены. |
Вторая часть
String— полное имя элемента, начиная с корня пространства имен. Имя элемента, его тип(ы), в которые он заключен, и его пространство имен разделяются точками. Если имя самого элемента содержит периоды, они заменяются знаком номера (#). Предполагается, что ни один элемент не имеет знака номера непосредственно в его имени. Например, полностью квалифицированное имя конструктораStringбудетSystem.String.#ctor.Для свойств и методов, если в методе есть аргументы, список аргументов, заключенный в круглые скобки, идет после. Если аргументов нет, круглые скобки отсутствуют. Аргументы разделяются запятыми. Кодировка каждого аргумента следует непосредственно тому, как он закодирован в сигнатуре .NET Framework.
Пример
В следующем коде показано, как создаются строки идентификатора для класса и его членов.
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