次の方法で共有


PrincipalPermission.Intersect メソッド

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

Public Overridable Function Intersect( _
   ByVal target As IPermission _) As IPermission Implements IPermission.Intersect
[C#]
public virtual IPermission Intersect(IPermissiontarget);
[C++]
public: virtual IPermission* Intersect(IPermission* target);
[JScript]
public function Intersect(
   target : IPermission) : IPermission;

パラメータ

  • target
    現在のアクセス許可との積集合を持つアクセス許可。これは、現在のアクセス許可と同じ型であることが必要です。

戻り値

現在のアクセス許可と指定したアクセス許可の積集合を表す新しいアクセス許可。積集合が空である場合、この新しいアクセス許可は null 参照 (Visual Basic では Nothing) です。

実装

IPermission.Intersect

例外

例外の種類 条件
ArgumentException target パラメータが null 参照 (Visual Basic では Nothing) ではなく、現在のアクセス許可と同じクラスのインスタンスでもありません。

解説

2 人のユーザーは積集合を持たないため、このメソッドは PrincipalPermission に対しては役立ちません。コード例を次に示します。

 
PrincipalPermission ppBob = new PrincipalPermission("Bob", "Administrator");
PrincipalPermission ppLouise = new PrincipalPermission("Louise", "Administrator");
PrincipalPermission pp1 = ppBob.Intersect(ppLouise);

上記のコードは、次のコードと同じです。

 
PrincipalPermission pp1 = new PrincipalPermission("", "Administrator");

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

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

PrincipalPermission クラス | PrincipalPermission メンバ | System.Security.Permissions 名前空間