Friend (Visual Basic)
指定一或多個宣告的程式設計元素,只能從包含其宣告的組件加以存取。
備註
在許多情況下,您希望整個組件都能使用類別及結構等程式設計元素,而非只有宣告這些元素的元件使用。 然而,您可能不希望讓組件外部的程式碼 (例如當應用程式為專屬時) 存取這些元素。 若您想以這種方式限制存取元素,可以使用 Friend
修飾元來宣告元素。
其他類別、結構和模組中的程式碼只要編譯至相同組件,即可存取該組件中的所有 Friend
元素。
Friend
存取通常是應用程式程式設計元素的慣用層級,而 Friend
則為介面、模組、類別或結構的預設存取層級。
您只能在模組、介面或命名空間層級使用 Friend
。 因此,Friend
元素的宣告內容必須為來源檔案、命名空間、介面、類別或結構;宣告內容不得為程序。
注意
您也可以使用 Protected Friend 存取修飾詞,讓類別成員可從該類別內、從衍生類別,以及從定義類別的相同組件存取類別。 若要限制成員從類別內以及從相同組件中的衍生類別存取進行存取,您可以使用 Private Protected 存取修飾詞。
如需了解 Friend
的比較,以及其他存取修飾詞,請參閱 Visual Basic 中的存取層級。
注意
您可以指定另一元件為 friend 組件,這樣做可允許其存取所有標記為 Friend
的類型與成員。 如需詳細資訊,請參閱 Friend Assemblies (Friend 組件)。
範例
下列類別會使用 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
修飾元: