Freigeben über


UIPermission.Union-Methode

Erstellt eine Berechtigung, die die Union der Berechtigung und der angegebenen Berechtigung darstellt.

Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overrides Function Union ( _
    target As IPermission _
) As IPermission
'Usage
Dim instance As UIPermission
Dim target As IPermission
Dim returnValue As IPermission

returnValue = instance.Union(target)
public override IPermission Union (
    IPermission target
)
public:
virtual IPermission^ Union (
    IPermission^ target
) override
public IPermission Union (
    IPermission target
)
public override function Union (
    target : IPermission
) : IPermission

Parameter

  • target
    Eine Berechtigung, die mit der aktuellen Berechtigung kombiniert werden soll. Diese muss von demselben Typ wie die aktuelle Berechtigung sein.

Rückgabewert

Eine neue Berechtigung, die die Gesamtmenge der aktuellen Berechtigung und der angegebenen Berechtigung darstellt.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Der target-Parameter ist nicht NULL (Nothing in Visual Basic) und nicht von demselben Typ wie die aktuelle Berechtigung.

Hinweise

Das Ergebnis eines Aufrufs von Union ist eine Berechtigung, die alle Vorgänge darstellt, die durch die aktuelle und die angegebene Berechtigung dargestellt werden. Insbesondere stellt diese unter den Werten der aktuellen und der angegebenen Berechtigung die am wenigsten restriktiven Werte von UIPermissionWindow und UIPermissionClipboard dar.

Beispiel

Das vollständige Beispiel finden Sie unter der UIPermission-Klasse.

    Private Function UnionDemo() As Boolean
        Dim returnValue As Boolean = True
        Dim ui1, ui2 As UIPermissionWindow
        Dim cb1, cb2 As UIPermissionClipboard
        Dim uiIdPerm1, uiIdPerm2 As UIPermission
        Dim uiIdPerm3 As IPermission
        Dim uiGen1 As New UIGenerator()
        Dim uiGen2 As New UIGenerator()
        uiGen1.ResetIndex()
        While uiGen1.CreateUI(ui1, cb1)
            uiIdPerm1 = New UIPermission(ui1, cb1)
            Console.WriteLine("**********************************************************" & ControlChars.Lf)
            uiGen2.ResetIndex()

            While uiGen2.CreateUI(ui2, cb2)
                uiIdPerm2 = New UIPermission(ui2, cb2)
                uiIdPerm3 = CType(uiIdPerm1.Union(uiIdPerm2), UIPermission)
                uiIdPerm3 = uiIdPerm1.Union(uiIdPerm2)

                If uiIdPerm3 Is Nothing Then
                    Console.WriteLine(("The union of " & ui1.ToString() & " and " & ui2.ToString() & " is null."))
                Else
                    Console.WriteLine(("The union of " & uiIdPerm1.Window.ToString() & " and " _
                    & uiIdPerm1.Clipboard.ToString() & " with " & uiIdPerm2.Window.ToString() _
                    & " and " & uiIdPerm2.Clipboard.ToString() & " = " & ControlChars.Lf _
                    & ControlChars.Tab & CType(uiIdPerm3, UIPermission).Window.ToString() & " and " _
                    & CType(uiIdPerm3, UIPermission).Clipboard.ToString()))
                End If
ContinueWhile2:
            End While
ContinueWhile1:
        End While


        Return returnValue
    End Function
private bool UnionDemo()
{
    bool returnValue = true;
    UIPermissionWindow ui1, ui2;
    UIPermissionClipboard cb1, cb2;
    UIPermission uiIdPerm1, uiIdPerm2;
    IPermission uiIdPerm3;
    UIGenerator uiGen1 = new UIGenerator();
    UIGenerator uiGen2 = new UIGenerator();
    uiGen1.ResetIndex();
    while (uiGen1.CreateUI( out ui1, out cb1))
    {
        uiIdPerm1 = new UIPermission(ui1, cb1);
        Console.WriteLine("**********************************************************\n");
        uiGen2.ResetIndex();

        while (uiGen2.CreateUI(out ui2, out cb2))
        {
            uiIdPerm2 = new UIPermission(ui2, cb2);
            uiIdPerm3 = (UIPermission)uiIdPerm1.Union(uiIdPerm2);
            uiIdPerm3 = uiIdPerm1.Union(uiIdPerm2);

            if (uiIdPerm3 == null)
            {
                Console.WriteLine("The union of " + ui1 + " and " + ui2 + " is null.");
            }
            else
            {
                Console.WriteLine("The union of " + uiIdPerm1.Window + " and " + uiIdPerm1.Clipboard + " with " +
                    uiIdPerm2.Window + " and " + uiIdPerm2.Clipboard + " = \n\t" +
                    ((UIPermission)uiIdPerm3).Window.ToString() + " and " + ((UIPermission)uiIdPerm3).Clipboard.ToString());
            }

        }
    }

    return returnValue;

}
bool UnionDemo()
{
   bool returnValue = true;
   UIPermissionWindow ui1;
   UIPermissionWindow ui2;
   UIPermissionClipboard cb1;
   UIPermissionClipboard cb2;
   UIPermission^ uiIdPerm1;
   UIPermission^ uiIdPerm2;
   IPermission^ uiIdPerm3;
   UIGenerator^ uiGen1 = gcnew UIGenerator;
   UIGenerator^ uiGen2 = gcnew UIGenerator;
   uiGen1->ResetIndex();
   while ( uiGen1->CreateUI(   &ui1,  &cb1 ) )
   {
      uiIdPerm1 = gcnew UIPermission( ui1, cb1 );

      Console::WriteLine( "**********************************************************\n" );
      uiGen2->ResetIndex();
      while ( uiGen2->CreateUI(  &ui2,  &cb2 ) )
      {
         uiIdPerm2 = gcnew UIPermission( ui2, cb2 );
         uiIdPerm3 = dynamic_cast<UIPermission^>(uiIdPerm1->Union( uiIdPerm2 ));
         uiIdPerm3 = uiIdPerm1->Union( uiIdPerm2 );
         if ( uiIdPerm3 == nullptr )
         {
            Console::WriteLine( "The union of {0} and {1} is null.", ui1, ui2 );
         }
         else
         {
            Console::WriteLine( "The union of {0} and {1} with {2} and {3} = \n\t{4} and {5}", uiIdPerm1->Window, uiIdPerm1->Clipboard, uiIdPerm2->Window, uiIdPerm2->Clipboard, (dynamic_cast<UIPermission^>(uiIdPerm3))->Window.ToString(), (dynamic_cast<UIPermission^>(uiIdPerm3))->Clipboard.ToString() );
         }
      }
   }

   return returnValue;
}

// Union creates a new permission that is the union of the current 
// permission and the specified permission.
private boolean UnionDemo()
{
    boolean returnValue = true;
    UIPermissionWindow ui1[] = new UIPermissionWindow[1];
    UIPermissionWindow ui2[] = new UIPermissionWindow[1];
    UIPermissionClipboard cb1[] = new UIPermissionClipboard[1];
    UIPermissionClipboard cb2[] = new UIPermissionClipboard[1];
    UIPermission uiIdPerm1[] = new UIPermission[1];
    UIPermission uiIdPerm2[] = new UIPermission[1];
    IPermission uiIdPerm3;
    UIGenerator uiGen1 = new UIGenerator();
    UIGenerator uiGen2 = new UIGenerator();

    uiGen1.ResetIndex();
    while (uiGen1.CreateUI(uiIdPerm1, ui1, cb1)) {
        if (uiIdPerm1[0] == null) {
            continue;
        }
        Console.WriteLine("*************************************" 
            + "*********************\n");
        uiGen2.ResetIndex();
        while (uiGen2.CreateUI(uiIdPerm2, ui2, cb2)) {
            if (uiIdPerm2[0] == null) {
                continue;
            }
            uiIdPerm3 = ((UIPermission)(uiIdPerm1[0].Union(uiIdPerm2[0])));
            uiIdPerm3 = uiIdPerm1[0].Union(uiIdPerm2[0]);
            if (uiIdPerm3 == null) {
                Console.WriteLine(("The union of " + ui1[0] + " and " 
                    + ui2[0] + " is null."));
            }
            else {
                Console.WriteLine(("The union of " 
                    + uiIdPerm1[0].get_Window() + " and " 
                    + uiIdPerm1[0].get_Clipboard() + " with " 
                    + uiIdPerm2[0].get_Window() + " and " 
                    + uiIdPerm2[0].get_Clipboard() + " = \n\t" 
                    + ((UIPermission)(uiIdPerm3)).get_Window().ToString() 
                    + " and " + ((UIPermission)(uiIdPerm3)).get_Clipboard().
                    ToString()));
            }
        }
    }
    return returnValue;
} //UnionDemo

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

UIPermission-Klasse
UIPermission-Member
System.Security.Permissions-Namespace