HOW TO:限定宣告的項目名稱
更新:2007 年 11 月
程式碼參考宣告的項目時,Visual Basic 編譯器 (Compiler) 必須將參考中的名稱對應至該名稱的適當宣告。如果是在程式碼外部定義此項目,或者將一個以上的項目宣告為相同名稱,則可能需要「限定」(Qualify) 名稱,以使編譯器可解析任何可能的語意模糊或尋找該項目。
限定名稱表示在來源陳述式 (Statement) 中,該名稱的前面會加上識別定義目標 (Target) 項目的位置資訊。此資訊稱為「限定性條件字串」(Qualification String)。可包括一或多個命名空間 (Namespace) 和模組、類別或結構。
限定性條件字串應明確指定內含目標項目的模組、類別或結構。接著,容器 (Container) 可能會位在其他內含項目中,通常是命名空間。您可能需要在限定性條件字串中包括數個內含項目。
若要透過限定已宣告項目的名稱來存取該項目
判斷已在其中定義項目的位置。這可能包括命名空間,甚至是命名空間的階層架構。在最低層的命名空間內,項目必須包括在模組、類別或結構中。
' 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
根據目標項目位置判斷限定性條件路徑。從最高層的命名空間開始,繼續到最低層的命名空間,並結束於內含目標項目的模組、類別或結構中。路徑中每個項目的後面都必須包含該項目。
outerSpace → innerSpace → holdsTotals → totals
準備目標項目的限定性條件字串。在路徑中的每個項目後面放上句號 (.)。應用程式必須具有限定性條件字串中每個項目的存取權。
outerSpace.innerSpace.holdsTotals.totals.
寫入以一般方式參考目標 (Target) 項目的運算式或指派陳述式 (Assignment Statement)。
grandTotal = 9000
在目標項目名稱前加上限定性條件字串。名稱後面會緊接著句號 (.),此句號後面會跟著內含項目的模組、類別或結構。
' Assume the following module is part of your code. Module accessGrandTotal Public Sub setGrandTotal() outerSpace.innerSpace.holdsTotals.totals.grandTotal = 9000 End Sub End Module
編譯器會使用限定性條件字串,來尋找和目標項目參考相符之清楚且明確的宣告。