ReflectionPermission クラス

定義

注意事項

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

System.Reflection API を通じて、非パブリック型とメンバーへのアクセスを制御します。 System.Reflection.Emit API の一部の機能を制御します。

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
継承
ReflectionPermission
属性
実装

注釈

指定しない場合 ReflectionPermission、コードはリフレクションを使用してオブジェクトのパブリック メンバーにのみアクセスできます。 適切なReflectionPermissionFlagフラグを持つReflectionPermissionコードは、オブジェクトとprivateオブジェクトのメンバーにprotectedアクセスできます。

注意事項

パブリック以外の型とメンバーへのアクセスを提供できるためReflectionPermission、フラグを除きReflectionPermissionFlag.RestrictedMemberAccess、インターネット コードには許可ReflectionPermissionしないことをお勧めします。 RestrictedMemberAccess は、非パブリック メンバーへのアクセスを許可します。非パブリック メンバーの許可セットは、非パブリック メンバーにアクセスするコードの許可セットと等しいか、またはそのサブセットである必要があります。

リフレクションの特定の機能 (デバッグ シンボルの出力など) には、フラグがReflectionPermissionFlag.ReflectionEmit必要ReflectionPermissionです。

詳細については、ReflectionPermissionFlag 列挙型のページをご覧ください。

コンストラクター

ReflectionPermission(PermissionState)

指定どおりに完全に制限されているまたは無制限のアクセス許可を持つ、ReflectionPermission クラスの新しいインスタンスを初期化します。

ReflectionPermission(ReflectionPermissionFlag)

指定したアクセスで ReflectionPermission クラスの新しいインスタンスを初期化します。

プロパティ

Flags

現在のアクセス許可で許可されるリフレクションの型を取得または設定します。

メソッド

Assert()

呼び出し側コードが、このメソッドを呼び出すコードを通じて、アクセス許可要求によって保護されているリソースにアクセス可能であるということ、それも、スタックの中で上位に位置する呼び出し側にリソースへのアクセス許可が付与されていない場合でさえそれが可能であることを宣言します。 Assert() を使用すると、セキュリティ上の問題が発生することがあります。

(継承元 CodeAccessPermission)
Copy()

現在のアクセス許可の同一のコピーを作成して返します。

Demand()

呼び出し履歴の上位にあるすべての呼び出し元に、現在のインスタンスによって指定されているアクセス許可が付与されていない場合、実行時に SecurityException を強制します。

(継承元 CodeAccessPermission)
Deny()
互換性のために残されています。
互換性のために残されています。

呼び出し履歴内の上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスで指定されたリソースにアクセスしないようにします。

(継承元 CodeAccessPermission)
Equals(Object)

指定した CodeAccessPermission オブジェクトが、現在の CodeAccessPermission と等しいかどうかを判断します。

(継承元 CodeAccessPermission)
FromXml(SecurityElement)

XML エンコードから指定された状態で、アクセス許可を再構築します。

GetHashCode()

ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適している、CodeAccessPermission オブジェクトのハッシュ コードを取得します。

(継承元 CodeAccessPermission)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Intersect(IPermission)

現在のアクセス許可と指定したアクセス許可の積集合となるアクセス許可を作成して返します。

IsSubsetOf(IPermission)

現在のアクセス許可が、指定したアクセス許可のサブセットであるかどうかを判断します。

IsUnrestricted()

現在のアクセス許可が無制限かどうかを示す値を返します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
PermitOnly()

呼び出し履歴内の上位の呼び出し元が、このメソッドを呼び出すコードでは一切リソースにアクセスできないようにします。ただし、現在のインスタンスで指定されているリソースは例外です。

(継承元 CodeAccessPermission)
ToString()

現在のアクセス許可オブジェクトの文字列形式を作成して返します。

(継承元 CodeAccessPermission)
ToXml()

アクセス許可とその現在の状態の XML エンコードを作成します。

Union(IPermission)

現在のアクセス許可と指定されたアクセス許可の和集合であるアクセス許可を作成します。

明示的なインターフェイスの実装

IPermission.Demand()

セキュリティ要件が満たされない場合、実行時に SecurityException をスローします。

(継承元 CodeAccessPermission)
IStackWalk.Assert()

スタック内の上位の呼び出し元がリソースへのアクセス許可を付与されていない場合であっても、呼び出し元のコードが現在のアクセス許可で識別されるリソースにアクセスできることをアサートします。

(継承元 CodeAccessPermission)
IStackWalk.Demand()

呼び出し履歴のすべての呼び出し元に、現在のアクセス許可オブジェクトで指定されたアクセス許可が付与されているかどうかを判断します。

(継承元 CodeAccessPermission)
IStackWalk.Deny()

呼び出し元のコードを通過する現在のオブジェクトのすべての Demand() が失敗します。

(継承元 CodeAccessPermission)
IStackWalk.PermitOnly()

呼び出し側コードによってパススルーされる現在のものを除き、全オブジェクトのあらゆる Demand() を失敗させます。これは、呼び出しスタックの上位にあるコードに対して他のリソースにアクセスするためのアクセス権限が付与されている場合にも当てはまります。

(継承元 CodeAccessPermission)

適用対象

こちらもご覧ください