次の方法で共有


フレンド (Visual Basic)

宣言された 1 つ以上のプログラミング要素に、その宣言を含むアセンブリ内からのみアクセス可能であることを指定します。

注釈

多くの場合、クラスや構造体などのプログラミング要素を宣言するコンポーネントだけでなく、アセンブリ全体で使用する必要があります。 ただし、アセンブリの外部のコードからアクセスできるようにしたくない場合があります (たとえば、アプリケーションが独自の場合)。 この方法で要素へのアクセスを制限する場合は、 Friend 修飾子を使用して宣言できます。

同じアセンブリにコンパイルされる他のクラス、構造体、およびモジュール内のコードは、そのアセンブリ内のすべての Friend 要素にアクセスできます。

Friend 多くの場合、アクセスはアプリケーションのプログラミング要素の優先レベルであり、 Friend はインターフェイス、モジュール、クラス、または構造体の既定のアクセス レベルです。

Friendは、モジュール、インターフェイス、または名前空間レベルでのみ使用できます。 したがって、 Friend 要素の宣言コンテキストは、ソース ファイル、名前空間、インターフェイス、モジュール、クラス、または構造体である必要があります。プロシージャにすることはできません。

Protected Friend アクセス修飾子を使用することもできます。これにより、そのクラス内、派生クラス、およびクラスが定義されているのと同じアセンブリからクラス メンバーにアクセスできるようになります。 メンバーへのアクセスを、そのクラス内および同じアセンブリ内の派生クラスから制限するには、 Private Protected アクセス修飾子を使用します。

Friendとその他のアクセス修飾子の比較については、「Visual Basic のアクセス レベル」を参照してください。

別のアセンブリがフレンド アセンブリであることを指定できます。これにより、 Friendとしてマークされているすべての型とメンバーにアクセスできます。 詳細については、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修飾子は、次のコンテキストで使用できます。

クラス ステートメント

Const ステートメント

宣言ステートメント

デリゲート ステートメント

Dim ステートメント

Enum ステートメント

Event ステートメント

関数文

Interface ステートメント

モジュール文

財産声明

構造ステートメント

サブステートメント

こちらも参照ください