ReflectionPermissionFlag 列挙型

定義

System.Reflection および System.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
属性

フィールド

名前 説明
NoFlags 0

型とメンバーの列挙は許可されます。 呼び出し操作は、参照可能な型とメンバーに対して許可されます。

TypeInformation 1

このフラグは廃止されました。 型とメンバーを列挙し、そのメタデータを調べるには、フラグは必要ありません。 NoFlags を代わりに使用します。

MemberAccess 2

許可セットに関係なく、すべてのメンバーに対する呼び出し操作が許可されます。 このフラグが設定されていない場合、呼び出し操作は可視メンバーでのみ許可されます。

ReflectionEmit 4

デバッグ シンボルの出力が許可されます。 .NET Framework 2.0 Service Pack 1 以降では、コードを出力するためにこのフラグは不要になりました。

AllFlags 7

TypeInformationMemberAccess、および ReflectionEmit が設定されます。 AllFlags には RestrictedMemberAccessは含まれません。

RestrictedMemberAccess 8

部分的に信頼されたコードに対して、制限付きメンバー アクセスが提供されます。 部分的に信頼されたコードは、非パブリック型とメンバーにアクセスできますが、部分的に信頼されたコードの許可セットに、アクセスされる非パブリック型とメンバーを含むアセンブリの許可セット内のすべてのアクセス許可が含まれている場合にのみアクセスできます。

注釈

Caution

コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。

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

Caution

ReflectionPermissionはプライベート クラス メンバーへのアクセスを提供できるため、インターネット コードへのReflectionPermissionは、他のフラグではなく、RestrictedMemberAccess フラグでのみ許可することをお勧めします。

Important

AllFlags には、 RestrictedMemberAccess フラグは含まれません。 この列挙体のすべてのフラグを含むマスクを取得するには、 AllFlagsRestrictedMemberAccessの組み合わせを使用する必要があります。

適用対象

こちらもご覧ください