ReflectionPermissionFlag 列舉

定義

警告

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

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

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

public enum class ReflectionPermissionFlag
[System.Flags]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ReflectionPermissionFlag
[<System.Flags>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
繼承
ReflectionPermissionFlag
屬性

欄位

AllFlags 7

設定 TypeInformationMemberAccessReflectionEmitAllFlags 不包含 RestrictedMemberAccess

MemberAccess 2

不論授權集為何,所有成員上都允許引動作業。 如果這個旗標沒有設定,則只有在可見成員上允許引動作業。

NoFlags 0

允許型別和成員的列舉型別。 可見型別和成員上允許引動作業。

ReflectionEmit 4

允許發出偵錯符號。 從 .NET Framework 2.0 Service Pack 1 開始,不再需要此旗標來發出程式碼。

RestrictedMemberAccess 8

受限制的成員存取是為部分信任的程式碼所提供的。 只有在部分信任程式碼的授權集包含了組件 (包含所要存取之非公用型別和成員) 授權集中的所有權限時,部分信任程式碼才可以存取非公用型別和成員。 此旗標是 .NET Framework 2.0 SP1 中的新功能。

TypeInformation 1

這個旗標已過時。 不需要旗標即可列舉型別和成員以及檢查其中繼資料。 請改用 NoFlags

範例

下列範例示範如何使用 ReflectionPermissionFlag 列舉,初始化 類別的新實例,此實例 ReflectionPermission 表示執行受限制成員存取的許可權。 此範例是針對 類別提供的較大範例的 ReflectionPermission 一部分。

如需示範如何使用 RestrictedMemberAccess 旗標搭配網際網路程式碼的範例,請參閱 逐步解說:在部分信任案例中發出程式碼

ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)

備註

警告

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

ReflectionPermissionAttribute 類別會 ReflectionPermission 使用此列舉。 ReflectionPermission如果未授與,則所有類型和成員都允許反映,但叫用作業只允許在可見類型和成員上。 如需詳細資訊,請參閱反映的安全性考量

警告

由於 ReflectionPermission 可以提供私用類別成員的存取權,因此建議您只 RestrictedMemberAccess 使用 旗標授與網際網路程式碼,而不授 ReflectionPermission 與任何其他旗標。

RestrictedMemberAccess 標會在 .NET Framework 2.0 SP1 中引進。 若要使用此旗標,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

重要

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

從 .NET Framework 2.0 SP1 開始,除非發出偵錯符號, ReflectionEmit 否則旗標不再需要發出程式碼。 若要使用此功能,您的應用程式應以 .NET Framework 3.5 或更新版本為目標。

從 .NET Framework 2.0 開始, TypeInformation 旗標不再需要反映非公用類型和成員;旗標已標示為過時。

適用於

另請參閱