PermissionSet.Demand 方法

定義

如果在呼叫堆疊中較高的所有呼叫端都尚未被授與由目前執行個體所指定之權限,則會在執行階段強制執行 SecurityException

C#
public void Demand();
C#
public virtual void Demand();

實作

例外狀況

呼叫鏈結中的呼叫端沒有要求的權限。

範例

下列程式代碼範例示範如何使用 Demand 方法來要求許可權集合中的所有許可權。 此程式代碼範例是針對 類別提供的較大範例的 PermissionSet 一部分。

C#
// Demand all the permissions in the set.
Console.WriteLine("Demand all permissions.");
ps1.Demand();

備註

Demand 上使用 PermissionSet ,以確保所有呼叫端在集合中具有一個作業的所有許可權。

不會檢查呼叫這個方法的程式代碼許可權;檢查會從該程式代碼的立即呼叫端開始,並繼續堆疊。 呼叫堆疊通常表示為向下成長,因此呼叫堆棧呼叫方法中的方法會降低呼叫堆疊。 Demand 只有在未擲回 時 SecurityException 才會成功。

PermissionSet如果 包含不繼承自 CodeAccessPermission的許可權,Demand也會呼叫這些許可權的方法。

適用於

產品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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 (package-provided)