IPermission.IsSubsetOf(IPermission) Метод

Определение

Определяет, является ли текущее разрешение подмножеством указанного разрешения.

public bool IsSubsetOf (System.Security.IPermission? target);
public bool IsSubsetOf (System.Security.IPermission target);

Параметры

target
IPermission

Разрешение, для которого требуется проверить отношение подмножества. Его тип должен совпадать с типом текущего разрешения.

Возвращаемое значение

Значение true, если текущее разрешение является подмножеством указанного разрешения. В противном случае — значение false.

Исключения

Параметр target не равен null и имеет тип, не совпадающий с типом текущего разрешения.

Примеры

В следующем примере кода демонстрируется IsSubsetOf реализация метода . Этот пример входит в состав более крупного примера использования класса IPermission.

// Called by the Demand method: returns true if 'this' is a subset of 'target'.
public override Boolean IsSubsetOf(IPermission target)
{
    // If 'target' is null and this permission allows nothing, return true.
    if (target == null) return m_flags == 0;

    // Both objects must be the same type.
    SoundPermission soundPerm = VerifyTypeMatch(target);

    // Return true if the permissions of 'this' is a subset of 'target'.
    return m_flags <= soundPerm.m_flags;
}

Комментарии

Текущее разрешение является подмножеством указанного разрешения, если текущее разрешение указывает набор операций, которые вся содержится в указанном разрешении. Например, разрешение, представляющее доступ к C:\example.txt, является подмножеством разрешения, представляющего доступ к C:\. Если этот метод возвращает true, текущее разрешение не представляет больше доступа к защищенному ресурсу, чем указанное разрешение.

Следующие инструкции должны быть истинными для всех реализаций IsSubsetOf метода . X, Yи Z представляют IPermission объекты, которые не nullявляются .

  • X. IsSubsetOf(X) возвращает true.

  • X. IsSubsetOf(Y) возвращает то же значение, что и Y. IsSubsetOf(X) только в том случае, если X и Y представляют один и тот же набор разрешений.

  • Если X. IsSubsetOf(Y) и Y. IsSubsetOf(Z) возвращает true, X. IsSubsetOf(Z) возвращает true.

Если X представляет пустой IPermission объект с состоянием None разрешения и Y представляет IPermission объект , который имеет значение null. X IsSubsetOf(Y) возвращает true. Если Z также является пустым разрешением, операция Xсоставного набора . Union(Z). IsSubsetOf(Y) также возвращает, true так как объединение двух пустых разрешений является пустым разрешением.

Применяется к

Өнім Нұсқалар
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1