Sdílet prostřednictvím


UIPermission.Union(IPermission) Metoda

Definice

Vytvoří oprávnění, které je sjednocením oprávnění a zadaným oprávněním.

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

Parametry

target
IPermission

Oprávnění ke kombinování s aktuálním oprávněním Musí být stejný typ jako aktuální oprávnění.

Návraty

IPermission

Nové oprávnění, které představuje sjednocení aktuálního oprávnění a zadaného oprávnění.

Výjimky

Parametr target není null a není stejného typu jako aktuální oprávnění.

Příklady

Následující příklad kódu ukazuje chování Union metody. Tento příklad je součástí většího příkladu zadaného UIPermission pro třídu.

Poznámka

Příklad kódu je určen k zobrazení chování metody, nikoli k předvedení jejího použití. Obecně platí, že metody tříd oprávnění používají infrastrukturu zabezpečení; obvykle se nepoužívají v aplikacích.

   // 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

Poznámky

Výsledkem volání Union je oprávnění, které představuje všechny operace reprezentované aktuálním oprávněním a také všechny operace reprezentované zadaným oprávněním. Konkrétně představuje nejvíce permisivní hodnoty a UIPermissionClipboard od těch UIPermissionWindow v aktuálním oprávnění a zadaném oprávnění.

Platí pro