ReflectionPermission 類別

定義

警告

Code Access Security is not supported or honored by the runtime.

控制項透過 System.Reflection 應用程式開發介面存取非公用類型和成員。 控制 System.Reflection.Emit 應用程式開發介面的部分功能。

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
繼承
ReflectionPermission
屬性
實作

備註

警告

程式代碼啟用安全性 (CAS) 已在所有版本的 .NET Framework 和 .NET 中已被取代。 最新版本的 .NET 不接受 CAS 批注,並在使用 CAS 相關 API 時產生錯誤。 開發人員應尋求替代方案來完成安全性工作。

如果沒有 ReflectionPermission,程式代碼可以使用反映只存取物件的公用成員。 具有 ReflectionPermission 和適當 ReflectionPermissionFlag 旗標的程式代碼可以存取 protected 物件的 和 private 成員。

警告

由於 ReflectionPermission 可以提供非公用類型和成員的存取權,因此建議您不要授 ReflectionPermission 與因特網程序代碼,但旗標除外 ReflectionPermissionFlag.RestrictedMemberAccessRestrictedMemberAccess 允許存取非公用成員,但限制非公用成員的授與集必須等於或子集,也就是存取非公用成員的程式代碼授與集。

反映發出的某些功能,例如發出偵錯符號,需要使用 ReflectionPermissionReflectionPermissionFlag.ReflectionEmit 旗標。

如需詳細資訊,請參閱 ReflectionPermissionFlag 列舉。

建構函式

ReflectionPermission(PermissionState)
已淘汰.

依照指定使用完全限制或無限制的權限,初始化 ReflectionPermission 類別的新執行個體。

ReflectionPermission(ReflectionPermissionFlag)
已淘汰.

使用指定陣列,初始化 ReflectionPermission 類別的新執行個體。

屬性

Flags
已淘汰.

取得或設定目前權限允許的反映類型。

方法

Assert()
已淘汰.

宣告即使堆疊中較高層的呼叫端未獲得資源存取權限,呼叫程式碼仍可透過呼叫這個方法的程式碼要求權限,來存取受保護的資源。 使用 Assert() 會造成安全性問題。

(繼承來源 CodeAccessPermission)
Copy()
已淘汰.

建立並傳回目前權限的相同複本。

Demand()
已淘汰.

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

(繼承來源 CodeAccessPermission)
Deny()
已淘汰.
已淘汰.

防止呼叫堆疊中較高的呼叫端,使用程式碼呼叫此方法來存取目前執行個體所指定的資源。

(繼承來源 CodeAccessPermission)
Equals(Object)
已淘汰.

判斷指定的 CodeAccessPermission 物件是否等於目前的 CodeAccessPermission

(繼承來源 CodeAccessPermission)
FromXml(SecurityElement)
已淘汰.

透過 XML 編碼,重新建構具有指定狀態的權限。

GetHashCode()
已淘汰.

取得 CodeAccessPermission 物件的雜湊碼,其適合用於雜湊表這類的雜湊演算法和資料結構。

(繼承來源 CodeAccessPermission)
GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
Intersect(IPermission)
已淘汰.

建立並傳回目前權限與指定權限交集的權限。

IsSubsetOf(IPermission)
已淘汰.

判斷目前權限是否為指定權限的子集。

IsUnrestricted()
已淘汰.

傳回值,指出目前的權限是否不受限制。

MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
PermitOnly()
已淘汰.

防止呼叫堆疊中較高的呼叫端,使用程式碼呼叫此方法來存取目前執行個體所指定之資源以外的所有資源。

(繼承來源 CodeAccessPermission)
ToString()
已淘汰.

建立並傳回目前權限物件的字串表示。

(繼承來源 CodeAccessPermission)
ToXml()
已淘汰.

建立權限和其目前狀態的 XML 編碼方式。

Union(IPermission)
已淘汰.

建立目前權限與指定權限聯集的權限。

適用於

另請參閱