ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

定義

使用を許可する System.Reflection 名前空間および System.Reflection.Emit 名前空間を指定します。Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

この列挙型には FlagsAttribute 属性があり、メンバー値ではビットごとの組み合わせを使用できます。

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ReflectionPermissionFlag
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
継承
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
属性

フィールド

AllFlags AllFlags AllFlags AllFlags 7

TypeInformationMemberAccess、および ReflectionEmit が設定されています。TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlagsRestrictedMemberAccess は含まれません。AllFlags does not include RestrictedMemberAccess.

MemberAccess MemberAccess MemberAccess MemberAccess 2

許可セットに関係なく、すべてのメンバーに対する呼び出し操作が許可されます。Invocation operations on all members are allowed, regardless of grant set. このフラグを設定しないと、呼び出し操作は参照できるメンバーに対してのみ許可されます。If this flag is not set, invocation operations are allowed only on visible members.

NoFlags NoFlags NoFlags NoFlags 0

型およびメンバーの列挙が許可されます。Enumeration of types and members is allowed. 呼び出し操作は参照できる型およびメンバーに対して許可されます。Invocation operations are allowed on visible types and members.

ReflectionEmit ReflectionEmit ReflectionEmit ReflectionEmit 4

デバッグ記号の出力が許可されます。Emitting debug symbols is allowed. .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1 以降では、コードの出力にこのフラグを指定する必要がなくなりました。Beginning with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code.

RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess 8

部分的に信頼されたコードに対して、制限付きメンバー アクセスが提供されます。Restricted member access is provided for partially trusted code. 部分的に信頼されたコードを使用して、非パブリックな型とメンバーにアクセスできます。ただし、部分的に信頼されたコードの許可セットに、アクセス対象の非パブリックな型とメンバーを含むアセンブリの許可セット内のすべての権限が含まれている場合に限定されます。Partially trusted code can access nonpublic types and members, but only if the grant set of the partially trusted code includes all permissions in the grant set of the assembly that contains the nonpublic types and members being accessed. このフラグは .NET Framework 2.0 SP1.NET Framework 2.0 SP1 で新たに追加されました。This flag is new in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1.

TypeInformation TypeInformation TypeInformation TypeInformation 1

このフラグは、互換性のために残されています。This flag is obsolete. 型とメンバーを列挙し、そのメタデータを確認する際には、フラグは不要です。No flags are necessary to enumerate types and members and to examine their metadata. 代わりに、NoFlags を使用してください。Use NoFlags instead.

次の例は、使用する方法を示します、RestrictedMemberAccess列挙体の新しいインスタンスを初期化するために、RestrictedMemberAccess制限付きメンバー アクセスを実行する権限を表すクラスです。The following example shows how to use the RestrictedMemberAccess enumeration to initialize a new instance of the RestrictedMemberAccess class that represents the right to perform restricted member access. この例のために用意されている長い例は、AllFlagsクラス。This example is part of a larger example that is provided for the AllFlags class.

インターネットのコードで RestrictedMemberAccess フラグを使用する方法を示す例を参照してくださいチュートリアル。部分信頼シナリオにおけるコード出力します。For an example that shows how to use the RestrictedMemberAccess flag with Internet code, see Walkthrough: Emitting Code in Partial Trust Scenarios.

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

注釈

この列挙体を使って、ReflectionPermissionReflectionPermissionAttributeクラス。This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. ない場合はReflectionPermissionリフレクションがすべての型とメンバーに許可されていますが、呼び出し操作は、参照可能な型およびメンバーでのみ許可されますが、付与されます。If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. 詳しくは、「リフレクションに関するセキュリティ上の考慮事項」をご覧ください。For more information, see Security Considerations for Reflection.

注意事項

ReflectionPermissionアクセスを提供できます、プライベート クラス メンバーをお勧めを許可することReflectionPermissionインターネット コードと他のフラグではなく、RestrictedMemberAccess フラグでのみにします。Because ReflectionPermission can provide access to private class members, we recommend that you grant ReflectionPermission to Internet code only with the RestrictedMemberAccess flag, and not with any other flags.

RestrictedMemberAccess フラグがで導入された、.NET Framework 2.0 SP1.NET Framework 2.0 SP1します。The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1. このフラグを使用するアプリケーションをターゲットする必要があります、 .NET Framework 3.5.NET Framework 3.5またはそれ以降。To use this flag, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

重要

AllFlags では、RestrictedMemberAccess フラグは含まれません。AllFlags does not include the RestrictedMemberAccess flag. この列挙体のすべてのフラグを含むマスクを取得するには、RestrictedMemberAccess を AllFlags の組み合わせを使用する必要があります。To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

以降では、 .NET Framework 2.0 SP1.NET Framework 2.0 SP1、デバッグ シンボルを出力しない限り、ReflectionEmit フラグは、コードを出力する必要なくなりました。Starting with the .NET Framework 2.0 SP1.NET Framework 2.0 SP1, the ReflectionEmit flag is no longer required to emit code, unless debug symbols are emitted. この機能を使用するアプリケーションをターゲットする必要があります、.NET Framework 3.5.NET Framework 3.5またはそれ以降。To use this feature, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

以降では、 .NET Framework 2.0.NET Framework 2.0、TypeInformation フラグが非パブリックな型とメンバーに反映させる必要はなくなりました。 フラグが残されています。Starting with the .NET Framework 2.0.NET Framework 2.0, the TypeInformation flag is no longer required to reflect on nonpublic types and members; the flag has been marked obsolete.

適用対象

こちらもご覧ください