PermissionSet.Demand 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
如果在呼叫堆疊中較高的所有呼叫端都尚未被授與由目前執行個體所指定之權限,則會在執行階段強制執行 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
也會呼叫這些許可權的方法。