Share via


PermissionSet.Demand メソッド

定義

現在のインスタンスによって指定されているアクセス許可が付与されていない呼び出し元が、呼び出し履歴の上流に 1 つでも存在した場合、実行時に 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()

注釈

PermissionSet使用してDemand、すべての呼び出し元が 1 つの操作でセット内のすべてのアクセス許可を持っていることを確認します。

このメソッドを呼び出すコードのアクセス許可は検査されません。チェックは、そのコードの直接の呼び出し元から開始され、スタックに進みます。 呼び出し履歴は、通常は縮小して表されるため、呼び出し履歴の呼び出しメソッドの上位のメソッドは、呼び出し履歴内で低くなります。 Demand がスローされない SecurityException 場合にのみ成功します。

PermissionSet から CodeAccessPermission継承されないアクセス許可が含まれている場合は、 Demand それらのアクセス許可のメソッドも呼び出されます。

適用対象