Friend (Visual Basic)
1 つまたは複数の宣言されたプログラミング要素が、その宣言を含むアセンブリ内からのみアクセス可能であることを示します。
解説
多くの場合、クラスや構造体のようなプログラミング要素は、それを宣言したコンポーネント内だけでなく、アセンブリ全体で使用できるようにします。ただし、アプリケーションである場合)、アセンブリ外部のコードからのアクセスを可能たくない場合もあります。たとえば。要素へのアクセスをこのように制限する場合は Friend 修飾子を使用して宣言できます。
同じアセンブリにコンパイルされる他のクラス、構造体、モジュール内のコードは、そのアセンブリ内のすべての Friend 要素にアクセスできます。
Friend のアクセスは、アプリケーションのプログラミング要素に望ましいレベルで、Friend は、インターフェイス、モジュール、クラス、または構造体の既定のアクセス レベルです。
モジュール、インターフェイス、または名前空間レベルでのみ Friend を使用できます。したがって、Friend の要素の申告コンテキストは、ソース ファイル、名前空間、インターフェイス、モジュール、クラス、または構造体である必要があります; これは、プロシージャにすることはできません。
Friend 修飾子は、同じ宣言内で Protected (Visual Basic) 修飾子と組み合わせて使用できます。この組み合わせで宣言された要素の両方 Friend のアクセスおよびプロテクト アクセス参照します。これらはいずれも同じアセンブリ、独自のクラス、および派生クラスからアクセスできます。Protected Friend は、クラスのメンバーでのみ指定できます。
Friend およびそのほかの比較にアクセス修飾子は、Visual Basic でのアクセス レベルが表示されます。
[!メモ]
もう一つのアセンブリが 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 修飾子を使用して: