UIPermission.Union(IPermission) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个权限,它是该权限与指定权限的并集。
public:
override System::Security::IPermission ^ Union(System::Security::IPermission ^ target);
public override System.Security.IPermission Union (System.Security.IPermission target);
override this.Union : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Union (target As IPermission) As IPermission
参数
- target
- IPermission
与当前权限合并的权限。 它必须与当前权限属于同一类型。
返回
表示同时兼具当前权限和指定权限的新权限。
例外
target
参数不为 null
,并且与当前权限不属于同一类型。
示例
下面的代码示例显示了该方法的行为 Union 。 此示例是为类提供的大型示例的 UIPermission 一部分。
备注
代码示例旨在显示方法的行为,而不是演示该方法的使用。 一般情况下,安全基础结构使用权限类的方法:它们通常不用于应用程序。
// Union creates a new permission that is the union of the current permission
// and the specified permission.
void UnionDemo()
{
Console::WriteLine("\n************************ Union() Demo *************************\n");
UIPermission ^ uiPerm1 = gcnew UIPermission(UIPermissionWindow::SafeTopLevelWindows);
UIPermission ^ uiPerm2 = gcnew UIPermission(UIPermissionWindow::SafeSubWindows);
UIPermission ^ p3 = dynamic_cast<UIPermission^>(uiPerm1->Union(uiPerm2));
Console::WriteLine(" The union of {0} and \n\t{1} = {2} ", uiPerm1->Window,
uiPerm2->Window, (nullptr != p3)?p3->Window.ToString():"null");
}
// Union creates a new permission that is the union of the current permission
// and the specified permission.
private static void UnionDemo()
{
UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows);
UIPermission p3 = (UIPermission)uiPerm1.Union(uiPerm2);
if (p3 != null)
{
Console.WriteLine("The union of " + uiPerm1.Window.ToString() +
" and \n\t" + uiPerm2.Window.ToString() + " is \n\t"
+ p3.Window.ToString() + "\n");
}
else
{
Console.WriteLine("The union of " + uiPerm1.Window.ToString() +
" and \n\t" + uiPerm2.Window.ToString() + " is null.\n");
}
}
' Union creates a new permission that is the union of the current permission
' and the specified permission.
Private Shared Sub UnionDemo()
Dim uiPerm1 As New UIPermission(UIPermissionWindow.SafeTopLevelWindows)
Dim uiPerm2 As New UIPermission(UIPermissionWindow.SafeSubWindows)
Dim p3 As UIPermission = CType(uiPerm1.Union(uiPerm2), UIPermission)
If Not (p3 Is Nothing) Then
Console.WriteLine("The union of " + uiPerm1.Window.ToString() + " and " + vbLf + vbTab + uiPerm2.Window.ToString() + " is " + vbLf + vbTab + p3.Window.ToString() + vbLf)
Else
Console.WriteLine("The union of " + uiPerm1.Window.ToString() + " and " + vbLf + vbTab + uiPerm2.Window.ToString() + " is null." + vbLf)
End If
End Sub
注解
调用 Union 的结果是一个权限,表示由当前权限表示的所有操作,以及由指定权限表示的所有操作。 具体而言,它表示当前权限和指定权限中最宽松的值UIPermissionWindowUIPermissionClipboard和值。