EnvironmentPermission.Intersect 方法
创建并返回一个权限,该权限是当前权限和指定权限的交集。
**命名空间:**System.Security.Permissions
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Public Overrides Function Intersect ( _
target As IPermission _
) As IPermission
用法
Dim instance As EnvironmentPermission
Dim target As IPermission
Dim returnValue As IPermission
returnValue = instance.Intersect(target)
public override IPermission Intersect (
IPermission target
)
public:
virtual IPermission^ Intersect (
IPermission^ target
) override
public IPermission Intersect (
IPermission target
)
public override function Intersect (
target : IPermission
) : IPermission
参数
- target
要与当前权限相交的权限。它必须与当前权限属于同一类型。
返回值
一个新权限,它表示当前权限与指定权限的交集。如果交集为空,则此新权限为 空引用(在 Visual Basic 中为 Nothing)。
异常
异常类型 | 条件 |
---|---|
target 参数不是 空引用(在 Visual Basic 中为 Nothing),而且与当前权限不是同一类型。 |
备注
两个权限的交集是对它们共同描述的状态进行描述的权限。只有同时通过两个原始权限的请求才能通过该交集。
示例
下面的代码示例演示 Intersect 方法的用法。此代码示例摘自一个为 EnvironmentPermission 类提供的更大的示例。
Private Function IntersectDemo() As Boolean
Dim envIdPerm3 As IPermission
Dim returnValue As Boolean = True
Dim envPerm1 As New EnvironmentPermission(EnvironmentPermissionAccess.Read, "windir")
Dim envPerm2 As New EnvironmentPermission(EnvironmentPermissionAccess.Read, "TEMP")
Try
envIdPerm3 = CType(envPerm1.Intersect(envPerm2), EnvironmentPermission)
If Not (envIdPerm3 Is Nothing) AndAlso Not (CType(envIdPerm3, _
EnvironmentPermission).GetPathList(EnvironmentPermissionAccess.Read) Is Nothing) Then
Console.WriteLine("The intersection of " + "windir" + " and " + "TEMP" + _
" = " + CType(envIdPerm3, EnvironmentPermission).GetPathList(EnvironmentPermissionAccess.Read).ToString())
Else
Console.WriteLine("The intersection of " + "windir" + " and " + "TEMP" + " is null.")
End If
Catch e As Exception
Console.WriteLine("An exception was thrown for intersection : " + e.Message)
returnValue = False
End Try
Return returnValue
End Function 'IntersectDemo
private bool IntersectDemo()
{
IPermission envIdPerm3;
bool returnValue = true;
EnvironmentPermission envPerm1 = new EnvironmentPermission(EnvironmentPermissionAccess.Read, "windir");
EnvironmentPermission envPerm2 = new EnvironmentPermission(EnvironmentPermissionAccess.Read, "TEMP");
try
{
envIdPerm3 = (EnvironmentPermission)envPerm1.Intersect(envPerm2);
if (envIdPerm3 != null && ((EnvironmentPermission)envIdPerm3).GetPathList(EnvironmentPermissionAccess.Read) != null)
{
Console.WriteLine("The intersection of " + "windir" + " and " + "TEMP" + " = " + ((EnvironmentPermission)envIdPerm3).GetPathList(EnvironmentPermissionAccess.Read).ToString());
}
else
{
Console.WriteLine("The intersection of " + "windir" + " and "
+ "TEMP" + " is null.");
}
}
catch (Exception e)
{
Console.WriteLine("An exception was thrown for intersection : " + e);
returnValue = false;
}
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 命名空间