ReflectionPermissionAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Constructor Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class ReflectionPermissionAttribute Inherits CodeAccessSecurityAttribute
[SerializableAttribute] [AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] [ComVisibleAttribute(true)] public sealed class ReflectionPermissionAttribute : CodeAccessSecurityAttribute
[SerializableAttribute] [AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method, AllowMultiple=true, Inherited=false)] [ComVisibleAttribute(true)] public ref class ReflectionPermissionAttribute sealed : public CodeAccessSecurityAttribute
/** @attribute SerializableAttribute() */ /** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) */ /** @attribute ComVisibleAttribute(true) */ public final class ReflectionPermissionAttribute extends CodeAccessSecurityAttribute
SerializableAttribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) ComVisibleAttribute(true) public final class ReflectionPermissionAttribute extends CodeAccessSecurityAttribute

宣言の許容スコープは、使用する SecurityAction によって異なります。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。セキュリティ属性は宣言セキュリティにだけ使用されます。強制セキュリティの場合は、対応するアクセス許可クラスを使用します。

ReflectionEmit の ReflectionPermission を要求する正しい方法を示し、コードを実行するためには少なくともこのアクセス許可が必要であることを次の宣言属性の例に示します。
<Assembly: ReflectionPermissionAttribute(SecurityAction.RequestMinimum, _ ReflectionEmit := True)> 'In Visual Basic, you must specify that you are using the assembly scope when making a request.
[assembly:ReflectionPermissionAttribute(SecurityAction.RequestMinimum, ReflectionEmit=true)] //In C#, you must specify that you are using the assembly scope when making a request.
[assembly:ReflectionPermissionAttribute(SecurityAction::RequestMinimum, ReflectionEmit=true)]; //In C++, you must specify that you are using the assembly scope when making a request.
/** @assembly ReflectionPermissionAttribute(SecurityAction.RequestMinimum, ReflectionEmit = true) */ // In VJ#, you must specify that you are using the assembly scope when // making a request.
リンク時に、呼び出し元のコードに無制限の ReflectionPermission を含めることを要求する方法を次の例に示します。通常、メソッドやクラスを不正なコードから保護するための要求がマネージ ライブラリ (DLL) で作成されます。

System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.ReflectionPermissionAttribute


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ReflectionPermissionAttribute クラスのページへのリンク