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