共用方式為


HOW TO:限定宣告的項目名稱

更新:2007 年 11 月

程式碼參考宣告的項目時,Visual Basic 編譯器 (Compiler) 必須將參考中的名稱對應至該名稱的適當宣告。如果是在程式碼外部定義此項目,或者將一個以上的項目宣告為相同名稱,則可能需要「限定」(Qualify) 名稱,以使編譯器可解析任何可能的語意模糊或尋找該項目。

限定名稱表示在來源陳述式 (Statement) 中,該名稱的前面會加上識別定義目標 (Target) 項目的位置資訊。此資訊稱為「限定性條件字串」(Qualification String)。可包括一或多個命名空間 (Namespace) 和模組、類別或結構。

限定性條件字串應明確指定內含目標項目的模組、類別或結構。接著,容器 (Container) 可能會位在其他內含項目中,通常是命名空間。您可能需要在限定性條件字串中包括數個內含項目。

若要透過限定已宣告項目的名稱來存取該項目

  1. 判斷已在其中定義項目的位置。這可能包括命名空間,甚至是命名空間的階層架構。在最低層的命名空間內,項目必須包括在模組、類別或結構中。

    ' Assume the following hierarchy exists outside your code.
    Namespace outerSpace
        Namespace innerSpace
            Module holdsTotals
                Public Structure totals
                    Public thisTotal As Integer
                    Public Shared grandTotal As Long
                End Structure
            End Module
        End Namespace
    End Namespace
    
  2. 根據目標項目位置判斷限定性條件路徑。從最高層的命名空間開始,繼續到最低層的命名空間,並結束於內含目標項目的模組、類別或結構中。路徑中每個項目的後面都必須包含該項目。

    outerSpace → innerSpace → holdsTotals → totals

  3. 準備目標項目的限定性條件字串。在路徑中的每個項目後面放上句號 (.)。應用程式必須具有限定性條件字串中每個項目的存取權。

    outerSpace.innerSpace.holdsTotals.totals.
    
  4. 寫入以一般方式參考目標 (Target) 項目的運算式或指派陳述式 (Assignment Statement)。

    grandTotal = 9000
    
  5. 在目標項目名稱前加上限定性條件字串。名稱後面會緊接著句號 (.),此句號後面會跟著內含項目的模組、類別或結構。

    ' Assume the following module is part of your code.
    Module accessGrandTotal
        Public Sub setGrandTotal()
            outerSpace.innerSpace.holdsTotals.totals.grandTotal = 9000
        End Sub
    End Module
    
  6. 編譯器會使用限定性條件字串,來尋找和目標項目參考相符之清楚且明確的宣告。

請參閱

工作

HOW TO:區分兩個相同名稱的元素

HOW TO:隱藏與您的變數名稱相同的變數

HOW TO:隱藏繼承的變數

HOW TO:存取衍生類別所隱藏的變數

概念

宣告項目特性

當多個變數擁有相同名稱時解析參考

Visual Basic 中的宣告陳述式

其他資源

已宣告之項目的參考