PrincipalPermission.Intersect(IPermission) メソッド

定義

現在のアクセス許可と指定したアクセス許可の積集合となるアクセス許可を作成して返します。

public:
 virtual System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public System.Security.IPermission Intersect (System.Security.IPermission target);
abstract member Intersect : System.Security.IPermission -> System.Security.IPermission
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Function Intersect (target As IPermission) As IPermission

パラメーター

target
IPermission

現在のアクセス許可との共通部分のあるアクセス許可。 これは、現在のアクセス許可と同じ型であることが必要です。

戻り値

IPermission

現在のアクセス許可と指定したアクセス許可の共通部分を表す新しいアクセス許可。 積集合が空の場合、この新しいアクセス許可は null です。

実装

例外

target パラメーターは null ではなく、現在のアクセス許可と同じクラスのインスタンスでもありません。

注釈

2 人のユーザーが交差しないため、このメソッドは役に PrincipalPermission立ちません。 たとえば、次のように入力します。

PrincipalPermission^ ppBob = gcnew PrincipalPermission("Bob", "Administrator");
PrincipalPermission^ ppLouise = gcnew PrincipalPermission("Louise", "Administrator");
IPermission^ pp1 = ppBob->Intersect(ppLouise);
PrincipalPermission ppBob = new PrincipalPermission("Bob", "Administrator");
PrincipalPermission ppLouise = new PrincipalPermission("Louise", "Administrator");
IPermission pp1 = ppBob.Intersect(ppLouise);
Dim ppBob As New PrincipalPermission("Bob", "Administrator")
Dim ppLouise As New PrincipalPermission("Louise", "Administrator")
Dim pp1 As IPermission = ppBob.Intersect(ppLouise)

上記の式は、次の式と同じです。

IPermission^ pp1 = gcnew PrincipalPermission("", "Administrator");
IPermission pp1 = new PrincipalPermission("", "Administrator");
Dim pp1 As IPermission = New PrincipalPermission("", "Administrator")

Bob と Louise の両方を同時に表すことができる ID がないためです。 実際には、 pp1.Demand() 認証されていないプリンシパル (名前が空の文字列 ("") と等しい) が管理者ロールで動作できる場合にのみ成功します。

適用対象