UIPermission.Union(IPermission) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates a permission that is the union of the permission and the specified permission.
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
Parameters
- target
- IPermission
A permission to combine with the current permission. It must be the same type as the current permission.
Returns
A new permission that represents the union of the current permission and the specified permission.
Exceptions
The target
parameter is not null
and is not of the same type as the current permission.
Examples
The following code example shows the behavior of the Union method. This example is part of a larger example provided for the UIPermission class.
Note
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.
// 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
Remarks
The result of a call to Union is a permission that represents all the operations represented by the current permission as well as all the operations represented by the specified permission. Specifically, it represents the most permissive values of UIPermissionWindow and UIPermissionClipboard from those in the current permission and the specified permission.