ReflectionPermissionFlag 列挙型

定義

注意事項

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

使用を許可する System.Reflection 名前空間および System.Reflection.Emit 名前空間を指定します。

この列挙体には FlagsAttribute 属性があり、そのメンバー値のビットごとの組み合わせが可能になります。

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

TypeInformationMemberAccess、および ReflectionEmit が設定されています。 AllFlagsRestrictedMemberAccess は含まれません。

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)

注釈

この列挙体は、クラスおよびクラスによって使用され ReflectionPermission ReflectionPermissionAttribute ます。 が付与されていない場合 ReflectionPermission 、リフレクションはすべての型およびメンバーに対して許可されますが、呼び出し操作は参照できる型およびメンバーに対してのみ許可されます。 詳しくは、「リフレクションに関するセキュリティ上の考慮事項」をご覧ください。

注意事項

ReflectionPermissionはプライベートクラスのメンバーへのアクセスを提供できるので、 ReflectionPermission 他のフラグではなく、フラグだけを使用してインターネットコードにを与えることをお勧めし RestrictedMemberAccess ます。

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 非パブリックな型とメンバーに対してフラグを反映する必要がなくなりました。フラグは古い形式に設定されています。

適用対象

こちらもご覧ください