Friend (Visual Basic)

更新 : 2007 年 11 月

1 つまたは複数の宣言されたプログラミング要素が、その宣言を含むアセンブリからのみアクセス可能かどうかを示します。

解説

規則

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

  • 修飾子の結合Friend 修飾子は、Protected (Visual Basic) 修飾子と組み合わせて同じ宣言内で使用できます。この組み合わせを使うと、宣言される要素にはフレンド アクセスとプロテクト アクセスの両方が設定され、同じアセンブリ、要素自体のクラス、およびすべての派生クラスから要素にアクセスできます。Protected Friend は、クラスのメンバでのみ指定できます。

動作

  • アクセス レベル 宣言コンテキスト内のすべてのコードは、自らの要素にアクセスできます。同じアセンブリにコンパイルされる他のクラス、構造体、モジュール内のコードは、そのアセンブリ内のすべての Friend 要素にアクセスできます。

    フレンド アクセスは、プロテクト アクセスのスーパーセットでもサブセットでもありません。

  • アクセス修飾子アクセス レベルを指定するキーワードは、アクセス修飾子と呼ばれます。アクセス修飾子の比較については、「Visual Basic でのアクセス レベル」を参照してください。

フレンドを使用する状況

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

フレンド アクセスは、アプリケーションのプログラミング要素に望ましいレベルとして多く利用されます。特に宣言しない場合、インターフェイス、モジュール、クラス、構造体の既定のアクセス レベルは Friend です。

Friend 修飾子は、次の場合に使用できます。

Class ステートメント

Const ステートメント

Declare ステートメント

Delegate ステートメント

Dim ステートメント

Enum ステートメント

Event ステートメント

Function ステートメント

Interface ステートメント

Module ステートメント

Property ステートメント

Structure ステートメント

Sub ステートメント

参照

概念

Visual Basic でのアクセス レベル

Visual Basic におけるプロシージャ

参照

Public (Visual Basic)

Protected (Visual Basic)

Private (Visual Basic)

その他の技術情報

構造体 : 独自のデータ型

クラスについて