CodeAccessPermission.Demand メソッド


コール スタック内の上位にあるすべての呼び出し元に、現在のインスタンスによって指定されているアクセス許可が与えられていない場合は、実行時に SecurityException を強制します。Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

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




呼び出し履歴の上位にある呼び出し元には、現在のインスタンスで指定されたアクセス許可がありません。A caller higher in the call stack does not have the permission specified by the current instance.

または-or- コール スタック内の上位にある呼び出し元が、現在のアクセス許可オブジェクトに対して Deny() を呼び出しました。A caller higher in the call stack has called Deny() on the current permission object.


このメソッドは、通常、呼び出し元にリソースへのアクセス許可があることを保証するために、安全なライブラリによって使用されます。This method is typically used by secure libraries to ensure that callers have permission to access a resource. たとえば、セキュリティで保護されたクラスライブラリ内のファイルクラスは、呼び出し元によって要求されたファイル操作を実行する前に、必要な FileIOPermission に対して Demand を呼び出します。For example, a file class in a secure class library calls Demand for the necessary FileIOPermission before performing a file operation requested by the caller.

このメソッドを呼び出すコードのアクセス許可は検証されません。このチェックは、そのコードの直前の呼び出し元から開始され、スタックを進めます。The permissions of the code that calls this method are not examined; the check begins from the immediate caller of that code and proceeds up the stack. 呼び出し履歴は、通常、コールスタックの上位にあるメソッドが呼び出し履歴の下位にあるメソッドを呼び出すように、拡張ダウンとして表されます。The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. Demand は、SecurityException が発生しなかった場合にのみ成功します。Demand succeeds only if no SecurityException is raised.

注意 (継承者)

このメソッドをオーバーライドすることはできません。You cannot override this method.