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 修飾詞:

Class 陳述式

Const 陳述式

Declare 陳述式

Delegate 陳述式

Dim 陳述式

Enum 陳述式

Event 陳述式

Function 陳述式

Interface 陳述式

Module Statement

Property 陳述式

Structure Statement

Sub 陳述式

請參閱

參考

Public (Visual Basic)

Protected (Visual Basic)

Private (Visual Basic)

InternalsVisibleToAttribute

概念

Visual Basic 中的存取層級

Visual Basic 中的程序

其他資源

結構 (Visual Basic)

Visual Basic 中的物件和類別