UIPermission.IsSubsetOf(IPermission) Metoda

Definicja

Określa, czy bieżące uprawnienie jest podzbiorem określonego uprawnienia.

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

Parametry

target
IPermission

Uprawnienie do testowania relacji podzestawu. To uprawnienie musi być tym samym typem co bieżące uprawnienie.

Zwraca

Boolean

true jeśli bieżące uprawnienie jest podzbiorem określonego uprawnienia; w przeciwnym razie , false.

Wyjątki

Parametr target nie null jest i nie jest tego samego typu co bieżące uprawnienie.

Przykłady

Poniższy przykład kodu przedstawia zachowanie IsSubsetOf metody . Ten przykład jest częścią większego przykładu udostępnionego UIPermission dla klasy .

Uwaga

Przykładowy kod jest przeznaczony do pokazania zachowania metody, a nie do zademonstrowania jej użycia. Ogólnie rzecz biorąc, metody klas uprawnień są używane przez infrastrukturę zabezpieczeń; nie są one zwykle używane w aplikacjach.

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

Uwagi

Bieżące uprawnienie jest podzbiorem określonego uprawnienia, jeśli wszystkie żądania pomyślne dla bieżącego uprawnienia również powiedzie się dla określonego uprawnienia. Oznacza to, że określone uprawnienie zawiera co najmniej uprawnienia zawarte w podzestawie. W IsSubsetOf celu zwrócenia truewartości i UIPermissionWindow UIPermissionClipboard bieżącego uprawnienia muszą być równe lub mniejsze niż wartości określonego uprawnienia.

Dotyczy