ReflectionPermissionFlag 列舉

定義

指定允許使用 System.ReflectionSystem.Reflection.Emit 命名空間。

此列舉支援其成員值的位元組合。

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ReflectionPermissionFlag
[<System.Flags>]
[<System.Serializable>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
繼承
ReflectionPermissionFlag
屬性

欄位

名稱 Description
NoFlags 0

允許列舉類型與成員。 呼叫操作允許用於可見型別與成員。

TypeInformation 1

這面旗幟已經過時了。 列舉類型與成員及檢視其元資料時,無需標記。 請改用 NoFlags

MemberAccess 2

所有成員都可以進行啟動操作,不論授權組合為何。 若未設定此旗標,呼叫操作僅允許對可見成員進行。

ReflectionEmit 4

允許發出除錯符號。 從 .NET Framework 2.0 Service Pack 1 開始,此旗標不再是發佈程式碼的必要條件。

AllFlags 7

TypeInformationMemberAccess, , ReflectionEmit 皆為設定。 AllFlags 不包含 RestrictedMemberAccess

RestrictedMemberAccess 8

部分受信任的程式碼提供受限會員存取權限。 部分受信任程式碼可以存取非公開型別與成員,但前提是該部分受信任程式碼的授權集包含包含非公開型別與成員的集合中的所有權限。

備註

注意事項

.NET Framework 和 .NET 的所有版本中,代碼存取安全性(CAS)已被棄用。 最新版本的 .NET 不會接受 CAS 註釋,如果使用 CAS 相關 API,則會產生錯誤。 開發人員應尋求其他方法來完成安全任務。

此枚舉方式被 ReflectionPermissionReflectionPermissionAttribute 類別使用。 若判定否, ReflectionPermission 則允許對所有類型與成員進行反射,但僅允許對可見類型與成員進行調用操作。 如需詳細資訊,請參閱 反射的安全性考量

注意事項

由於ReflectionPermission可以提供私人類別成員存取權限,我們建議您僅RestrictedMemberAccess以旗標授權ReflectionPermission網路程式碼,而非其他旗標。

Important

AllFlags 不包含 RestrictedMemberAccess 旗幟。 要得到包含此列舉中所有旗標的遮罩,必須使用與 RestrictedMemberAccess的組合AllFlags

適用於

另請參閱