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


CodeAccessPermission.Demand Метод

Определение

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

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

Реализации

Исключения

Вызывающий метод, расположенный выше в стеке вызовов, не имеет разрешения, указанного текущим экземпляром.

-или-

Вызывающий метод, расположенный выше в стеке вызовов, вызвал Deny() в текущем объекте разрешений.

Комментарии

Этот метод обычно используется безопасными библиотеками, чтобы гарантировать, что вызывающие стороны имеют разрешение на доступ к ресурсу. Например, класс файлов в защищенной библиотеке классов вызывает Demand необходимое FileIOPermission перед выполнением операции с файлом, запрошенной вызывающим объектом.

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

Примечания для тех, кто наследует этот метод

Этот метод нельзя переопределить.

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