UIPermission.IsSubsetOf(IPermission) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, является ли текущее разрешение подмножеством указанного разрешения.
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
Параметры
- target
- IPermission
Разрешение на проверку наличия связи подмножеств. Его тип должен совпадать с типом текущего разрешения.
Возвращаемое значение
Значение true
, если текущее разрешение является подмножеством указанного разрешения. В противном случае — значение false
.
Исключения
Параметр target
не равен null
и имеет тип, не совпадающий с типом текущего разрешения.
Примеры
В следующем примере кода показано поведение IsSubsetOf метода . Этот пример является частью более крупного примера, предоставленного UIPermission для класса .
Примечание
Пример кода предназначен для демонстрации поведения метода, а не для демонстрации его использования. Как правило, методы классов разрешений используются инфраструктурой безопасности; Обычно они не используются в приложениях.
// 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
Комментарии
Текущее разрешение является подмножеством указанного разрешения, если все требования, которые были выполнены успешно для текущего разрешения, также были выполнены для указанного разрешения. То есть указанное разрешение содержит по крайней мере разрешения, содержащиеся в подмножестве. Для IsSubsetOf возврата true
UIPermissionWindow значения и UIPermissionClipboard текущего разрешения должны быть равны или менее допустимы, чем значения указанного разрешения.