Поделиться через


PermissionSet.Demand Метод

Определение

Принудительно создает SecurityException во время выполнения, если все вызывающие методы, расположенные выше в стеке вызовов, не получили разрешения, указанные текущим экземпляром.

public:
 virtual void Demand();
public void Demand ();
public virtual void Demand ();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()
Public Overridable Sub Demand ()

Реализации

Исключения

У вызывающего метода в цепочке вызовов нет требуемых разрешений.

Примеры

В следующем примере кода показано использование метода для Demand запроса всех разрешений в наборе разрешений. Этот пример входит в состав более крупного примера использования класса PermissionSet.

// Demand all the permissions in the set.
Console::WriteLine( "Demand all permissions." );
ps1->Demand();
// Demand all the permissions in the set.
Console.WriteLine("Demand all permissions.");
ps1.Demand();
' Demand all the permissions in the set.
Console.WriteLine("Demand all permissions.")
ps1.Demand()

Комментарии

Используйте Demand в , PermissionSet чтобы убедиться, что все вызывающие абоненты имеют все разрешения в наборе с одной операцией.

Разрешения кода, который вызывает этот метод, не проверяются; проверка начинается с непосредственного вызывающего объекта этого кода и переходит вверх по стеку. Стек вызовов обычно представлен как растущий вниз, поэтому методы выше в стеке вызовов вызывают методы ниже в стеке вызовов. Demand выполняется только в том случае, если нет SecurityException .

PermissionSet Если содержит разрешения, которые не наследуют от CodeAccessPermission, Demand методы этих разрешений также вызываются.

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