宣言された 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
修飾子は、次のコンテキストで使用できます。
こちらも参照ください
.NET