UIPermission.Intersect(IPermission) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建并返回一个权限,该权限是当前权限与指定权限的交集。
public:
override System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public override System.Security.IPermission Intersect (System.Security.IPermission target);
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Intersect (target As IPermission) As IPermission
参数
- target
- IPermission
要与当前权限相交的权限。 它必须与当前权限属于同一类型。
返回
表示当前权限和指定权限的交集的一个新权限。 如果交集为空,则此新权限为 null
。
例外
target
参数不为 null
,并且与当前权限不属于同一类型。
示例
下面的代码示例演示 方法的行为 Intersect 。 此示例是为 类提供的更大示例的一 UIPermission 部分。
注意
代码示例旨在显示方法的行为,而不是演示其用法。 通常,安全基础结构使用权限类的方法;它们通常不用于应用程序。
// Intersect creates and returns a new permission that is the intersection of the
// current permission and the permission specified.
void IntersectDemo()
{
Console::WriteLine("\n********************** Intersect() Demo ***********************\n");
UIPermission ^ uiPerm1 = gcnew UIPermission(UIPermissionWindow::SafeTopLevelWindows,UIPermissionClipboard::OwnClipboard);
UIPermission ^ uiPerm2 = gcnew UIPermission(UIPermissionWindow::SafeSubWindows,UIPermissionClipboard::NoClipboard);
UIPermission ^ p3 = (UIPermission^)uiPerm1->Intersect(uiPerm2);
Console::WriteLine(" The intersection of {0} and \n\t{1} = {2} ", uiPerm1->Window,
uiPerm1->Window, (nullptr != p3)?p3->Window.ToString():"null");
Console::WriteLine(" The intersection of " + uiPerm1->Clipboard.ToString() + " and \n\t" +
uiPerm2->Clipboard.ToString() + " is " + p3->Clipboard.ToString());
}
// Intersect creates and returns a new permission that is the intersection of the
// current permission and the permission specified.
private static void IntersectDemo()
{
UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows, UIPermissionClipboard.OwnClipboard);
UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows, UIPermissionClipboard.NoClipboard);
UIPermission p3 = (UIPermission)uiPerm1.Intersect(uiPerm2);
Console.WriteLine("The intersection of " + uiPerm1.Window.ToString() + " and \n\t" +
uiPerm2.Window.ToString() + " is " + p3.Window.ToString() + "\n");
Console.WriteLine("The intersection of " + uiPerm1.Clipboard.ToString() + " and \n\t" +
uiPerm2.Clipboard.ToString() + " is " + p3.Clipboard.ToString() + "\n");
}
' Intersect creates and returns a new permission that is the intersection of the
' current permission and the permission specified.
Private Shared Sub IntersectDemo()
Dim uiPerm1 As New UIPermission(UIPermissionWindow.SafeTopLevelWindows, UIPermissionClipboard.OwnClipboard)
Dim uiPerm2 As New UIPermission(UIPermissionWindow.SafeSubWindows, UIPermissionClipboard.NoClipboard)
Dim p3 As UIPermission = CType(uiPerm1.Intersect(uiPerm2), UIPermission)
Console.WriteLine("The intersection of " + uiPerm1.Window.ToString() + " and " + vbLf + vbTab + uiPerm2.Window.ToString() + " is " + p3.Window.ToString() + vbLf)
Console.WriteLine("The intersection of " + uiPerm1.Clipboard.ToString() + " and " + vbLf + vbTab + uiPerm2.Clipboard.ToString() + " is " + p3.Clipboard.ToString() + vbLf)
End Sub
注解
两个权限的交集是描述它们共同描述的操作集的权限。 具体而言,它表示当前权限和指定权限中的 和 UIPermissionClipboard 的最小允许值UIPermissionWindow。