Friend (Visual Basic)
1 つ以上の宣言されたプログラミング要素が、その宣言を含むアセンブリ内からのみアクセス可能であることを示します。
Remarks
多くの場合、クラスや構造体などのプログラミング要素は、それを宣言するコンポーネントだけでなく、アセンブリ全体で使用する必要があります。 ただし、アセンブリ外部のコードからアクセスできないようにすることもできます (アプリケーションが専用のものである場合など)。 この方法で要素へのアクセスを制限する場合は、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