UIPermission.IsSubsetOf(IPermission) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist.
public:
override bool IsSubsetOf(System::Security::IPermission ^ target);
public override bool IsSubsetOf (System.Security.IPermission target);
override this.IsSubsetOf : System.Security.IPermission -> bool
Public Overrides Function IsSubsetOf (target As IPermission) As Boolean
Parameter
- target
- IPermission
Eine für die Teilmengenbeziehung zu testende Berechtigung. Diese Berechtigung muss denselben Typ aufweisen wie die aktuelle Berechtigung.
Gibt zurück
true
, wenn die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist, andernfalls false
.
Ausnahmen
Der target
-Parameter ist nicht null
und weist nicht denselben Typ wie die aktuelle Berechtigung auf.
Beispiele
Das folgende Codebeispiel zeigt das Verhalten der IsSubsetOf -Methode. Dieses Beispiel ist Teil eines größeren Beispiels, das für die UIPermission -Klasse bereitgestellt wird.
Hinweis
Das Codebeispiel soll das Verhalten der Methode und nicht ihre Verwendung veranschaulichen. Im Allgemeinen werden die Methoden der Berechtigungsklassen von der Sicherheitsinfrastruktur verwendet. sie werden in der Regel nicht in Anwendungen verwendet.
// IsSubsetOf determines whether the current permission is a subset of the specified permission.
void IsSubsetOfDemo()
{
Console::WriteLine("\n********************** IsSubsetOf() Demo **********************\n");
UIPermission ^ uiPerm1 = gcnew UIPermission(UIPermissionWindow::SafeTopLevelWindows);
UIPermission ^ uiPerm2 = gcnew UIPermission(UIPermissionWindow::SafeSubWindows);
Console::WriteLine(" {0} is {1}a subset of {2} ", uiPerm1->Window,
uiPerm1->IsSubsetOf(uiPerm2)?"":"not ", uiPerm2->Window);
Console::WriteLine(" {0} is {1}a subset of {2} ", uiPerm2->Window,
uiPerm2->IsSubsetOf(uiPerm1)?"":"not ", uiPerm1->Window);
uiPerm1 = gcnew UIPermission(UIPermissionClipboard::AllClipboard);
uiPerm2 = gcnew UIPermission(UIPermissionClipboard::OwnClipboard);
Console::WriteLine(" {0} is {1}a subset of {2} ", uiPerm1->Clipboard,
uiPerm1->IsSubsetOf(uiPerm2)?"":"not ", uiPerm2->Clipboard);
Console::WriteLine(" {0} is {1}a subset of {2} ", uiPerm2->Clipboard,
uiPerm2->IsSubsetOf(uiPerm1)?"":"not ", uiPerm1->Clipboard);
}
// IsSubsetOf determines whether the current permission is a subset of the specified permission.
private static void IsSubsetOfDemo()
{
UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows);
CheckIsSubsetOfWindow(uiPerm1, uiPerm2);
uiPerm1 = new UIPermission(UIPermissionClipboard.AllClipboard);
uiPerm2 = new UIPermission(UIPermissionClipboard.OwnClipboard);
CheckIsSubsetOfClipBoard(uiPerm1, uiPerm2);
}
private static void CheckIsSubsetOfWindow(UIPermission uiPerm1, UIPermission uiPerm2)
{
if (uiPerm1.IsSubsetOf(uiPerm2))
{
Console.WriteLine(uiPerm1.Window.ToString() + " is a subset of " +
uiPerm2.Window.ToString());
}
else
{
Console.WriteLine(uiPerm1.Window.ToString() + " is not a subset of " +
uiPerm2.Window.ToString());
}
if (uiPerm2.IsSubsetOf(uiPerm1))
{
Console.WriteLine(uiPerm2.Window.ToString() + " is a subset of " +
uiPerm1.Window.ToString());
}
else
{
Console.WriteLine(uiPerm2.Window.ToString() + " is not a subset of " +
uiPerm1.Window.ToString());
}
}
private static void CheckIsSubsetOfClipBoard(UIPermission uiPerm1, UIPermission uiPerm2)
{
if (uiPerm1.IsSubsetOf(uiPerm2))
{
Console.WriteLine(uiPerm1.Clipboard.ToString() + " is a subset of " +
uiPerm2.Clipboard.ToString());
}
else
{
Console.WriteLine(uiPerm1.Clipboard.ToString() + " is not a subset of " +
uiPerm2.Clipboard.ToString());
}
if (uiPerm2.IsSubsetOf(uiPerm1))
{
Console.WriteLine(uiPerm2.Clipboard.ToString() + " is a subset of " +
uiPerm1.Clipboard.ToString());
}
else
{
Console.WriteLine(uiPerm2.Clipboard.ToString() + " is not a subset of " +
uiPerm1.Clipboard.ToString());
}
}
' IsSubsetOf determines whether the current permission is a subset of the specified permission.
Private Shared Sub IsSubsetOfDemo()
Dim uiPerm1 As New UIPermission(UIPermissionWindow.SafeTopLevelWindows)
Dim uiPerm2 As New UIPermission(UIPermissionWindow.SafeSubWindows)
CheckIsSubsetOfWindow(uiPerm1, uiPerm2)
uiPerm1 = New UIPermission(UIPermissionClipboard.AllClipboard)
uiPerm2 = New UIPermission(UIPermissionClipboard.OwnClipboard)
CheckIsSubsetOfClipBoard(uiPerm1, uiPerm2)
End Sub
Private Shared Sub CheckIsSubsetOfWindow(ByVal uiPerm1 As UIPermission, ByVal uiPerm2 As UIPermission)
If uiPerm1.IsSubsetOf(uiPerm2) Then
Console.WriteLine(uiPerm1.Window.ToString() + " is a subset of " + uiPerm2.Window.ToString())
Else
Console.WriteLine(uiPerm1.Window.ToString() + " is not a subset of " + uiPerm2.Window.ToString())
End If
If uiPerm2.IsSubsetOf(uiPerm1) Then
Console.WriteLine(uiPerm2.Window.ToString() + " is a subset of " + uiPerm1.Window.ToString())
Else
Console.WriteLine(uiPerm2.Window.ToString() + " is not a subset of " + uiPerm1.Window.ToString())
End If
End Sub
Private Shared Sub CheckIsSubsetOfClipBoard(ByVal uiPerm1 As UIPermission, ByVal uiPerm2 As UIPermission)
If uiPerm1.IsSubsetOf(uiPerm2) Then
Console.WriteLine(uiPerm1.Clipboard.ToString() + " is a subset of " + uiPerm2.Clipboard.ToString())
Else
Console.WriteLine(uiPerm1.Clipboard.ToString() + " is not a subset of " + uiPerm2.Clipboard.ToString())
End If
If uiPerm2.IsSubsetOf(uiPerm1) Then
Console.WriteLine(uiPerm2.Clipboard.ToString() + " is a subset of " + uiPerm1.Clipboard.ToString())
Else
Console.WriteLine(uiPerm2.Clipboard.ToString() + " is not a subset of " + uiPerm1.Clipboard.ToString())
End If
End Sub
Hinweise
Die aktuelle Berechtigung ist eine Teilmenge der angegebenen Berechtigung, wenn alle Anforderungen, die für die aktuelle Berechtigung erfolgreich sind, auch für die angegebene Berechtigung erfolgreich sind. Das heißt, die angegebene Berechtigung enthält mindestens die Berechtigungen, die in der Teilmenge enthalten sind. Um IsSubsetOf zurückzugeben true
, müssen sowohl die UIPermissionWindow Werte als UIPermissionClipboard auch die Werte der aktuellen Berechtigung gleich oder weniger freizügigen als die Werte der angegebenen Berechtigung sein.