Friend (Visual Basic)
指定一或多個宣告的程式設計項目只能從包含其宣告的組件中存取。
備註
在許多情況下,您可能想要整個組件都可使用程式設計項目 (例如類別和結構),而不只是由宣告它們的元件使用。不過,您可能不希望它們可由組件外部的程式碼 (例如,因此,如果應用程式是私用的)。如果您要以這種方式限制項目的存取,您可以使用 Friend 修飾詞,您可以宣告它。
編譯成相同組件之其他類別、結構和模組的程式碼,都可以存取該組件中的所有 Friend 項目。
Friend 存取通常是應用程式項目的慣用層級,,且 Friend 是介面、模組、類別或結構的預設存取層級。
您只能使用 Friend 在模組、介面或命名空間層級。因此, Friend 項目的宣告內容必須是原始程式檔、命名空間、介面、模組、類別或結構;它不能是程序。
您可在同一個宣告中搭配使用 Friend 修飾詞與 Protected (Visual Basic) 修飾詞。這個組合在宣告項目授與兩個 Friend 存取和受保護的存取,因此,它們可從任何位置相同的組件時,從其類別和衍生類別。您只能在類別成員上指定 Protected Friend。
對於 Friend 和其他的比較存取修飾詞,請參閱 Visual Basic 中的存取層級。
注意事項 |
---|
您可以指定另一個組件為 Friend 組件,讓它可以存取所有型別和成員標記為 Friend。如需詳細資訊,請參閱Friend 組件 (C# 和 Visual Basic)。 |
範例
下列類別會使用 Friend 修飾詞,以允許相同組件內的其他程式設計項目存取某些成員。
Class CustomerInfo
Private p_CustomerID As Integer
Public ReadOnly Property CustomerID() As Integer
Get
Return p_CustomerID
End Get
End Property
' Allow friend access to the empty constructor.
Friend Sub New()
End Sub
' Require that a customer identifier be specified for the public constructor.
Public Sub New(ByVal customerID As Integer)
p_CustomerID = customerID
End Sub
' Allow friend programming elements to set the customer identifier.
Friend Sub SetCustomerID(ByVal customerID As Integer)
p_CustomerID = customerID
End Sub
End Class
使用方式
您可以在這些內容使用 Friend 修飾詞: