共用方式為


處理 XML 檔案 (Visual Basic)

編譯器會為每個用於生成文件的標記建構產生識別字串。 (如需如何標記程式代碼的資訊,請參閱 XML 批註標記。)標識符字串會唯一識別 建構。 處理 XML 檔案的程式可以使用識別符字串來識別對應的 .NET Framework 元數據/反映專案。

XML 檔案不是您程式代碼的階層表示法;它是具有每個元素所產生標識碼的一般清單。

編譯程式會在產生標識符字串時觀察下列規則:

  • 字串中沒有空格符。

  • ID字串的第一部分標識出成員的種類,形式為一個單字符後跟一個冒號。 使用下列成員類型。

角色 說明
N 命名空間 (namespace)

您無法將文件註解新增到命名空間中,但在支援的情況下,您可以對它們進行 CREF 參考。
T 類型:Class、、ModuleInterfaceStructureEnumDelegate
F 欄位:Dim
P 屬性: Property (包括預設屬性)
M 方法: Sub、、 FunctionDeclareOperator
E 事件:Event
! 錯誤字串

字串的其餘部分會提供錯誤的相關信息。 Visual Basic 編譯程式會針對無法解析的鏈接產生錯誤資訊。
  • 第二個部分 String 是項目的完全限定名稱,從命名空間的根目錄開始。 項目的名稱、其封入類型(s)和命名空間會以句號分隔。 如果專案本身的名稱包含句點,則會以數字符號 (#) 取代它們。 假設沒有任何專案在其名稱中直接有數字符號。 例如,建構函式的完整名稱 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

另請參閱