1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
<Type Name="ReflectionPermissionAttribute" FullName="System.Security.Permissions.ReflectionPermissionAttribute" FullNameSP="System_Security_Permissions_ReflectionPermissionAttribute" Maintainer="ecma">
<TypeSignature Language="ILASM" Value=".class public sealed serializable ReflectionPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute" />
<TypeSignature Language="C#" Value="public sealed class ReflectionPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute" />
<MemberOfLibrary>Reflection</MemberOfLibrary>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
</AssemblyInfo>
<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
<Docs>
<summary>
<para> Used to declaratively specify security actions to
control access to
non-public types using reflection.</para>
</summary>
<remarks>
<block subset="none" type="note">
<para>The level of access to non-public types and members is specified using
the <see cref="P:System.Security.Permissions.ReflectionPermissionAttribute.Flags" /> property and the <see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> enumeration.</para>
<para>The security information declared by a security attribute is stored in the
metadata of the attribute target, and is accessed by the system at run-time.
Security attributes are used for declarative security only. For imperative
security, use the corresponding permission class, <see cref="T:System.Security.Permissions.ReflectionPermission" />.</para>
<para>The allowable <see cref="T:System.Security.Permissions.ReflectionPermissionAttribute" /> targets are
determined by the <see cref="T:System.Security.Permissions.SecurityAction" /> passed to the
constructor.</para>
</block>
</remarks>
<example>
<para>The following example shows a declarative request for access to non-public
members of loaded assemblies. The <see cref="F:System.Security.Permissions.SecurityAction.RequestMinimum" />
security action indicates that this is the minimum permission required for the
target assembly to be able to execute.</para>
<para>
<c>[assembly:ReflectionPermissionAttribute(SecurityAction.RequestMinimum,
MemberAccess=true)]
</c>
</para>
<para>The following example shows how to demand that the calling code has
unrestricted access to non-public types. Demands are typically made to protect
methods or classes from malicious code. </para>
<para>
<c>[ReflectionPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
</c>
</para>
</example>
</Docs>
<Base>
<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)</AttributeName>
</Attribute>
</Attributes>
<Members>
<Member MemberName="CreatePermission">
<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission CreatePermission()" />
<MemberSignature Language="C#" Value="public override System.Security.IPermission CreatePermission ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Security.IPermission</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
<para>Returns a new <see cref="T:System.Security.Permissions.ReflectionPermission" /> that contains the
security information of the current instance.</para>
</summary>
<returns>
<para>A new <see cref="T:System.Security.Permissions.ReflectionPermission" /> object with the
security information of the current
instance.</para>
</returns>
<remarks>
<block subset="none" type="note">
<para>Applications typically do not call this method; it is
intended for use by the system.</para>
<para>The security information described by a security
attribute is stored in the metadata of the attribute target, and is accessed by
the system at run-time. The system uses the object returned by this method to
convert the security information of the current instance into the form stored in
metadata.</para>
<para>This method overrides <see cref="M:System.Security.Permissions.SecurityAttribute.CreatePermission" />.</para>
</block>
</remarks>
</Docs>
<Excluded>0</Excluded>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)" />
<MemberSignature Language="C#" Value="public ReflectionPermissionAttribute (System.Security.Permissions.SecurityAction action);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="action" Type="System.Security.Permissions.SecurityAction" />
</Parameters>
<Docs>
<summary>
<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.ReflectionPermissionAttribute" /> class
with the specified <see cref="T:System.Security.Permissions.SecurityAction" /> value.</para>
</summary>
<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction" /> value.</param>
<exception cref="T:System.ArgumentException">
<paramref name="action" /> is not a valid <see cref="T:System.Security.Permissions.SecurityAction" /> value. </exception>
<remarks>To be added.</remarks>
</Docs>
<Excluded>0</Excluded>
</Member>
<Member MemberName="Flags">
<MemberSignature Language="ILASM" Value=".property valuetype System.Security.Permissions.ReflectionPermissionFlag Flags { public hidebysig specialname instance valuetype System.Security.Permissions.ReflectionPermissionFlag get_Flags() public hidebysig specialname instance void set_Flags(valuetype System.Security.Permissions.ReflectionPermissionFlag value) }" />
<MemberSignature Language="C#" Value="public System.Security.Permissions.ReflectionPermissionFlag Flags { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Security.Permissions.ReflectionPermissionFlag</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
<para> Gets or sets levels of access to non-public types using reflection.</para>
</summary>
<value>
<para> One or more of the <see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> values. </para>
</value>
<remarks>
<para>
<block subset="none" type="note">To specify multiple
<see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> values for a set operation,
use the bitwise OR operator.</block>
</para>
</remarks>
</Docs>
<Excluded>0</Excluded>
</Member>
<Member MemberName="MemberAccess">
<MemberSignature Language="C#" Value="public bool MemberAccess { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ReflectionEmit">
<MemberSignature Language="C#" Value="public bool ReflectionEmit { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="TypeInformation">
<MemberSignature Language="C#" Value="public bool TypeInformation { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
<TypeExcluded>0</TypeExcluded>
</Type>
|