ReflectionPermission.IsSubsetOf(IPermission) メソッド


現在のアクセス許可が、指定したアクセス許可のサブセットであるかどうかを判断します。Determines whether the current permission is a subset of the specified permission.

 override bool IsSubsetOf(System::Security::IPermission ^ target);
public override bool IsSubsetOf (System.Security.IPermission target);
override this.IsSubsetOf : System.Security.IPermission -> bool
Public Overrides Function IsSubsetOf (target As IPermission) As Boolean



サブセットの関係にあるかどうかをテストするアクセス許可。A permission that is to be tested for the subset relationship. このアクセス許可は、現在のアクセス許可と同じ型であることが必要です。This permission must be of the same type as the current permission.


現在のアクセス許可が、指定したアクセス許可のサブセットの場合は true。それ以外の場合は falsetrue if the current permission is a subset of the specified permission; otherwise, false.


target パラメーターが null でなく、また現在のアクセス許可と同じ型でもありません。The target parameter is not null and is not of the same type as the current permission.

次のコード例は、 IsSubsetOfメソッドの動作を示しています。The following code example shows the behavior of the IsSubsetOf method. この例は、 ReflectionPermissionクラスに対して提供される大規模な例の一部です。This example is part of a larger example provided for the ReflectionPermission class.


このコード例は、使用方法を示すものではなく、メソッドの動作を示すことを目的としています。The code example is intended to show the behavior of the method, not to demonstrate its use. 一般に、セキュリティインフラストラクチャでは、アクセス許可クラスのメソッドが使用されます。通常、アプリケーションでは使用されません。In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications.

private static void IsSubsetOfDemo()
    ReflectionPermission memberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
    ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);

    if (restrictedMemberAccessPerm.IsSubsetOf(memberAccessPerm))
        Console.WriteLine(restrictedMemberAccessPerm.Flags + " is a subset of " +
        Console.WriteLine(restrictedMemberAccessPerm.Flags + " is not a subset of " +
Private Shared Sub IsSubsetOfDemo()

    Dim memberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.MemberAccess)
    Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
    If restrictedMemberAccessPerm.IsSubsetOf(memberAccessPerm) Then
        Console.WriteLine(restrictedMemberAccessPerm.Flags + " is a subset of " + memberAccessPerm.Flags)
        Console.WriteLine(restrictedMemberAccessPerm.Flags.ToString() + _
        " is not a subset of " + memberAccessPerm.Flags.ToString())
    End If

End Sub


現在のアクセス許可が、指定したアクセス許可によって完全に含まれる一連の操作を指定している場合、現在のアクセス許可は、指定したアクセス許可のサブセットになります。The current permission is a subset of the specified permission if the current permission specifies a set of operations that is wholly contained by the specified permission. たとえば、C:\example.txt へのアクセスを表すアクセス許可は、C:\へのアクセスを表すアクセス許可のサブセットです。For example, a permission that represents access to C:\example.txt is a subset of a permission that represents access to C:\. このメソッドがをtrue返す場合、現在のアクセス許可は、指定されたアクセス許可よりも保護されたリソースへのアクセスを許可しません。If this method returns true, the current permission represents no more access to the protected resource than does the specified permission.