ReflectionPermission.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 метода . Этот пример является частью более крупного примера, предоставленного ReflectionPermission для класса .
Примечание
Пример кода предназначен для демонстрации поведения метода, а не для демонстрации его использования. Как правило, методы классов разрешений используются инфраструктурой безопасности; Обычно они не используются в приложениях.
private static void IsSubsetOfDemo()
{
ReflectionPermission memberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
if (restrictedMemberAccessPerm.IsSubsetOf(memberAccessPerm))
{
Console.WriteLine(restrictedMemberAccessPerm.Flags + " is a subset of " +
memberAccessPerm.Flags);
}
else
{
Console.WriteLine(restrictedMemberAccessPerm.Flags + " is not a subset of " +
memberAccessPerm.Flags);
}
}
Private Shared Sub IsSubsetOfDemo()
Dim memberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.MemberAccess)
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
If restrictedMemberAccessPerm.IsSubsetOf(memberAccessPerm) Then
Console.WriteLine(restrictedMemberAccessPerm.Flags + " is a subset of " + memberAccessPerm.Flags)
Else
Console.WriteLine(restrictedMemberAccessPerm.Flags.ToString() + _
" is not a subset of " + memberAccessPerm.Flags.ToString())
End If
End Sub
Комментарии
Текущее разрешение является подмножеством указанного разрешения, если текущее разрешение указывает набор операций, которые вся содержится в указанном разрешении. Например, разрешение, представляющее доступ к C:\example.txt, является подмножеством разрешения, представляющего доступ к C:\. Если этот метод возвращает true
, текущее разрешение не представляет больше доступа к защищенному ресурсу, чем указанное разрешение.