ReflectionPermission ReflectionPermission ReflectionPermission ReflectionPermission Class

定義

System.Reflection API を使用した非パブリック型および非パブリック メンバーへのアクセスを制御します。Controls access to non-public types and members through the System.Reflection APIs. System.Reflection.Emit API の一部の機能を制御します。Controls some features of the System.Reflection.Emit APIs.

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
継承
ReflectionPermissionReflectionPermissionReflectionPermissionReflectionPermission
属性
実装

注釈

せずReflectionPermissionコードは、リフレクションを使用してオブジェクトのパブリック メンバーのみにアクセスすることができます。Without ReflectionPermission, code can use reflection to access only the public members of objects. コードでは、 ReflectionPermission 、適切なReflectionPermissionFlagフラグにアクセスできる、protectedprivateオブジェクトのメンバー。Code with ReflectionPermission and the appropriate ReflectionPermissionFlag flags can access the protected and private members of objects.

注意事項

ReflectionPermissionアクセスを提供できる非パブリック型とメンバーの場合にお勧めします付与しないことReflectionPermissionインターネットのコードを除く、ReflectionPermissionFlag.RestrictedMemberAccessフラグ。Because ReflectionPermission can provide access to non-public types and members, we recommend that you do not grant ReflectionPermission to Internet code, except with the ReflectionPermissionFlag.RestrictedMemberAccess flag. RestrictedMemberAccess 非パブリック メンバーを非パブリック メンバーの許可セットが同じか、する必要がある制限または非パブリック メンバーにアクセスするコードの許可セットのサブセットにアクセスできます。RestrictedMemberAccess allows access to non-public members, with the restriction that the grant set of the non-public members must be equal to, or a subset of, the grant set of the code that accesses the non-public members.

リフレクションの特定の機能は、デバッグ記号の出力など、出力、必要になるReflectionPermissionで、ReflectionPermissionFlag.ReflectionEmitフラグ。Certain features of reflection emit, such as emitting debug symbols, require ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag.

詳細については、ReflectionPermissionFlag 列挙型のページをご覧ください。For more information, see the ReflectionPermissionFlag enumeration.

コンストラクター

ReflectionPermission(PermissionState) ReflectionPermission(PermissionState) ReflectionPermission(PermissionState) ReflectionPermission(PermissionState)

制限されたアクセス許可か無制限のアクセス許可のいずれかを指定して、ReflectionPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the ReflectionPermission class with either fully restricted or unrestricted permission as specified.

ReflectionPermission(ReflectionPermissionFlag) ReflectionPermission(ReflectionPermissionFlag) ReflectionPermission(ReflectionPermissionFlag) ReflectionPermission(ReflectionPermissionFlag)

アクセス権を指定して、ReflectionPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the ReflectionPermission class with the specified access.

プロパティ

Flags Flags Flags Flags

現在のアクセス許可で使用できるリフレクションの型を取得または設定します。Gets or sets the type of reflection allowed for the current permission.

メソッド

Assert() Assert() Assert() Assert()

アクセス許可要求によって保護されているリソースへのアクセス許可が、スタックの上位にある呼び出し元に付与されていない場合でも、呼び出し元コードが、このメソッドを呼び出すコードを通じてリソースにアクセスできるように宣言します。Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert() を使用すると、セキュリティ上の問題が発生することがあります。Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy() Copy() Copy() Copy()

現在のアクセス許可の同一のコピーを作成して返します。Creates and returns an identical copy of the current permission.

Demand() Demand() Demand() Demand()

コール スタック内の上位にあるすべての呼び出し元に、現在のインスタンスによって指定されているアクセス許可が与えられていない場合は、実行時に SecurityException を強制します。Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Inherited from CodeAccessPermission)
Deny() Deny() Deny() Deny()

コール スタックの上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスによって指定されるリソースにアクセスできないようにします。Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Inherited from CodeAccessPermission)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定した CodeAccessPermission オブジェクトが、現在の CodeAccessPermission と等しいかどうかを判断します。Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement)

XML エンコーディングから、指定した状態のアクセス許可を再構築します。Reconstructs a permission with a specified state from an XML encoding.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適している、CodeAccessPermission オブジェクトのハッシュ コードを取得します。Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission) Intersect(IPermission) Intersect(IPermission) Intersect(IPermission)

現在のアクセス許可と指定したアクセス許可の積集合を表すアクセス許可を作成して返します。Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission)

現在のアクセス許可が、指定したアクセス許可のサブセットかどうかを判断します。Determines whether the current permission is a subset of the specified permission.

IsUnrestricted() IsUnrestricted() IsUnrestricted() IsUnrestricted()

現在のアクセス許可が無制限かどうかを示す値を返します。Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly() PermitOnly() PermitOnly() PermitOnly()

コール スタックの上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスによって指定されるリソース以外のすべてのリソースにアクセスできないようにします。Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Inherited from CodeAccessPermission)
ToString() ToString() ToString() ToString()

現在のアクセス許可オブジェクトの文字列形式を作成して返します。Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml() ToXml() ToXml() ToXml()

アクセス許可とその現在の状態を表す XML エンコーディングを作成します。Creates an XML encoding of the permission and its current state.

Union(IPermission) Union(IPermission) Union(IPermission) Union(IPermission)

現在のアクセス許可と指定されたアクセス許可の和集合であるアクセス許可を作成します。Creates a permission that is the union of the current permission and the specified permission.

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

IPermission.Demand() IPermission.Demand() IPermission.Demand() IPermission.Demand() Inherited from CodeAccessPermission
IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() Inherited from CodeAccessPermission
IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() Inherited from CodeAccessPermission
IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() Inherited from CodeAccessPermission
IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() Inherited from CodeAccessPermission

適用対象

こちらもご覧ください