EnvironmentPermission.IsSubsetOf 方法

确定当前权限是否为指定权限的子集。

**命名空间:**System.Security.Permissions
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Overrides Function IsSubsetOf ( _
    target As IPermission _
) As Boolean
用法
Dim instance As EnvironmentPermission
Dim target As IPermission
Dim returnValue As Boolean

returnValue = instance.IsSubsetOf(target)
public override bool IsSubsetOf (
    IPermission target
)
public:
virtual bool IsSubsetOf (
    IPermission^ target
) override
public boolean IsSubsetOf (
    IPermission target
)
public override function IsSubsetOf (
    target : IPermission
) : boolean

参数

  • target
    将要测试子集关系的权限。此权限必须与当前权限属于同一类型。

返回值

如果当前权限是指定权限的子集,则为 true;否则为 false

异常

异常类型 条件

ArgumentException

target 参数不是 空引用(在 Visual Basic 中为 Nothing),而且与当前权限不是同一类型。

备注

如果当前权限所指定的状态完全包含在指定权限中,则当前权限是指定权限的子集。例如,表示访问 C:\example.txt 的权限就是表示访问 C:\ 的权限的一个子集。如果此方法返回 true,则当前权限表示对受保护资源的访问权限不超过指定的权限。

示例

下面的代码示例演示 IsSubsetOf 方法的用法。此代码示例摘自一个为 EnvironmentPermission 类提供的更大的示例。

Private Function IsSubsetOfDemo() As Boolean 
    Dim returnValue As Boolean = True
    Dim envPerm1 As New EnvironmentPermission(EnvironmentPermissionAccess.Read, "windir")
    Dim envPerm2 As New EnvironmentPermission(EnvironmentPermissionAccess.AllAccess, "TEMP")
    If envPerm1.IsSubsetOf(envPerm2) Then
        
        Console.WriteLine("'windir' is a subset of 'TEMP'" + vbLf)
    Else
        Console.WriteLine("windir" + " is not a subset of " + "TEMP" + vbLf)
    End If
    envPerm1.SetPathList(EnvironmentPermissionAccess.Read, "TEMP")
    
    If envPerm1.IsSubsetOf(envPerm2) Then
        
        Console.WriteLine("Read access is a subset of AllAccess" + vbLf)
    Else
        Console.WriteLine("Read access is not a subset of AllAccess" + vbLf)
    End If
    
    Return returnValue

End Function 'IsSubsetOfDemo
private bool IsSubsetOfDemo()
{
    bool returnValue = true;
    EnvironmentPermission envPerm1 = new EnvironmentPermission(EnvironmentPermissionAccess.Read, "windir");
    EnvironmentPermission envPerm2 = new EnvironmentPermission(EnvironmentPermissionAccess.AllAccess, "TEMP");
    if (envPerm1.IsSubsetOf(envPerm2))
    {

        Console.WriteLine("'windir' is a subset of 'TEMP'\n");
    }
    else
    {
        Console.WriteLine("windir" + " is not a subset of "
            + "TEMP" + "\n");
    }
    envPerm1.SetPathList(EnvironmentPermissionAccess.Read, "TEMP");

    if (envPerm1.IsSubsetOf(envPerm2))
    {

        Console.WriteLine("Read access is a subset of AllAccess\n");
    }
    else
    {
        Console.WriteLine("Read access is not a subset of AllAccess\n");
    }

    return returnValue;
}

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

EnvironmentPermission 类
EnvironmentPermission 成员
System.Security.Permissions 命名空间