共用方式為


處理 XML 檔案 (Visual Basic)

編譯器會針對程式碼中,標記為要產生文件的每個建構產生識別碼字串。 (如需如何標記程式碼的資訊,請參閱 XML 批註標記)。識別碼字串可唯一識別此建構。 處理 XML 檔案的程式可以使用識別碼字串,來識別相應的 .NET Framework 中繼資料/反映項目。

XML 檔案不會以階層方式呈現您的程式碼,它是含有針對每個項目所產生識別碼的一般清單。

編譯器在產生識別碼字串時會遵守下列規則:

  • 字串中未放置任何空白字元。

  • 識別碼字串的第一個部分會識別所識別的成員種類,格式為單一字元後面接著一個冒號。 使用的成員類型如下所示。

字元 描述
命名空間

您無法將文件註解新增至命名空間,但可讓 CREF 參考它們 (如果支援)。
T 型別:ClassModuleInterfaceStructureEnumDelegate
F 欄位:Dim
P 屬性:Property (包括預設屬性)
方法:SubFunctionDeclareOperator
E 事件: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

另請參閱