File: ReflectionPermissionAttribute.xml

package info (click to toggle)
monodoc 1.1.18-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 58,432 kB
  • ctags: 4,991
  • sloc: xml: 718,392; cs: 38,337; sh: 3,172; perl: 554; makefile: 303
file content (175 lines) | stat: -rwxr-xr-x 8,839 bytes parent folder | download
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>