Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt eine Berechtigung als Schnittmenge der aktuellen und der angegebenen Berechtigung und gibt diese zurück.
Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function Intersect ( _
target As IPermission _
) As IPermission
'Usage
Dim instance As UIPermission
Dim target As IPermission
Dim returnValue As IPermission
returnValue = instance.Intersect(target)
public override IPermission Intersect (
IPermission target
)
public:
virtual IPermission^ Intersect (
IPermission^ target
) override
public IPermission Intersect (
IPermission target
)
public override function Intersect (
target : IPermission
) : IPermission
Parameter
- target
Eine Berechtigung, deren Schnittmenge mit der aktuellen Berechtigung gebildet wird. Diese muss von demselben Typ wie die aktuelle Berechtigung sein.
Rückgabewert
Eine neue Berechtigung, die die Schnittmenge der aktuellen und der angegebenen Berechtigung darstellt. Diese neue Berechtigung ist NULL (Nothing in Visual Basic), wenn die Schnittmenge leer ist.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Der target-Parameter ist nicht NULL (Nothing in Visual Basic) und nicht von demselben Typ wie die aktuelle Berechtigung. |
Hinweise
Die Schnittmenge zweier Berechtigungen ist eine Berechtigung, die die von beiden Berechtigungen gemeinsam beschriebene Gruppe von Operationen wiedergibt. Insbesondere stellt diese unter den Werten in der aktuellen und der angegebenen Berechtigung die restriktivsten Werte von UIPermissionWindow und UIPermissionClipboard dar.
Beispiel
Das vollständige Beispiel finden Sie unter der UIPermission-Klasse.
Private Function IntersectDemo() As Boolean
Dim returnValue As Boolean = True
Dim ui1, ui2 As UIPermissionWindow
Dim cb1, cb2 As UIPermissionClipboard
Dim uiIdPerm1, uiIdPerm2, uiIdPerm3 As UIPermission
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.Intersect(uiIdPerm2), UIPermission)
If Not (uiIdPerm3 Is Nothing) Then
Console.WriteLine(("The intersection 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()))
Else
Console.WriteLine(("The intersection of " & ui1.ToString() & " and " & cb1.ToString() _
& " with " & ui2.ToString() & " and " & cb2.ToString() & " is null."))
End If
ContinueWhile2:
End While
ContinueWhile1:
End While
Return returnValue
End Function 'IntersectDemo
private bool IntersectDemo()
{
bool returnValue = true;
UIPermissionWindow ui1, ui2;
UIPermissionClipboard cb1, cb2;
UIPermission uiIdPerm1, uiIdPerm2, 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.Intersect(uiIdPerm2);
if (uiIdPerm3 != null)
{
Console.WriteLine("The intersection of " + uiIdPerm1.Window + " and " + uiIdPerm1.Clipboard + " with " +
uiIdPerm2.Window + " and " + uiIdPerm2.Clipboard + " = \n\t" +
((UIPermission)uiIdPerm3).Window.ToString() + " and " + ((UIPermission)uiIdPerm3).Clipboard.ToString());
}
else
{
Console.WriteLine("The intersection of " + ui1 + " and " + cb1 + " with " + ui2 + " and "
+ cb2 + " is null.");
}
}
}
return returnValue;
}
bool IntersectDemo()
{
bool returnValue = true;
UIPermissionWindow ui1;
UIPermissionWindow ui2;
UIPermissionClipboard cb1;
UIPermissionClipboard cb2;
UIPermission^ uiIdPerm1;
UIPermission^ uiIdPerm2;
UIPermission^ 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->Intersect( uiIdPerm2 ));
if ( uiIdPerm3 != nullptr )
{
Console::WriteLine( "The intersection 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() );
}
else
{
Console::WriteLine( "The intersection of {0} and {1} with {2} and {3} is null.", ui1, cb1, ui2, cb2 );
}
}
}
return returnValue;
}
// Intersect creates and returns a new permission that is the
// intersection of the current permission and the permission specified.
private boolean IntersectDemo()
{
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];
UIPermission uiIdPerm3 = null;
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].Intersect(uiIdPerm2[0])));
if (uiIdPerm3 != null) {
Console.WriteLine(("The intersection 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()));
}
else {
Console.WriteLine(("The intersection of "
+ ui1[0] + " and " + cb1[0] + " with " + ui2[0]
+ " and " + cb2[0] + " is null."));
}
}
}
return returnValue;
} //IntersectDemo
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