ReflectionPermission.IsSubsetOf Method (IPermission)

 

Determines whether the current permission is a subset of the specified permission.

Namespace:   System.Security.Permissions
Assembly:  mscorlib (in mscorlib.dll)

public override bool IsSubsetOf(
	IPermission target
)

Parameters

target
Type: System.Security.IPermission

A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission.

Return Value

Type: System.Boolean

true if the current permission is a subset of the specified permission; otherwise, false.

Exception Condition
ArgumentException

The target parameter is not null and is not of the same type as the current permission.

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. For example, a permission that represents access to C:\example.txt is a subset of a permission that represents access to C:\. If this method returns true, the current permission represents no more access to the protected resource than does the specified permission.

The following code example shows the behavior of the IsSubsetOf method. This example is part of a larger example provided for the ReflectionPermission class.

System_CAPS_noteNote

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 " +
            memberAccessPerm.Flags);
    }
    else
    {
        Console.WriteLine(restrictedMemberAccessPerm.Flags + " is not a subset of " +
            memberAccessPerm.Flags);
    }
}

.NET Framework
Available since 1.1
Return to top
Show: