﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ReflectionPermission" FullName="System.Security.Permissions.ReflectionPermission" FullNameSP="System_Security_Permissions_ReflectionPermission" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public sealed serializable ReflectionPermission extends System.Security.CodeAccessPermission" /><TypeSignature Language="C#" Value="public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IBuiltInPermission, System.Security.Permissions.IUnrestrictedPermission" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit ReflectionPermission extends System.Security.CodeAccessPermission implements class System.Security.Permissions.IBuiltInPermission, class System.Security.Permissions.IUnrestrictedPermission" /><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><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.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><Base><BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Security.Permissions.IBuiltInPermission</InterfaceName></Interface><Interface><InterfaceName>System.Security.Permissions.IUnrestrictedPermission</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Without <see cref="T:System.Security.Permissions.ReflectionPermission" />, code can use reflection to access only the public members of objects. Code with <see cref="T:System.Security.Permissions.ReflectionPermission" /> and the appropriate <see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> flags can access the protected and private members of objects. </para><block subset="none" type="note"><para>Because <see cref="T:System.Security.Permissions.ReflectionPermission" /> can provide access to non-public types and members, we recommend that you do not grant <see cref="T:System.Security.Permissions.ReflectionPermission" /> to Internet code, except with the <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess" /> flag. <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.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.</para></block><para>Certain features of reflection emit, such as emitting debug symbols, require <see cref="T:System.Security.Permissions.ReflectionPermission" /> with the <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.ReflectionEmit" /> flag.</para><para>For more information, see the <see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Controls access to non-public types and members through the <see cref="N:System.Reflection" /> APIs. Controls some features of the <see cref="N:System.Reflection.Emit" /> APIs.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ReflectionPermission (System.Security.Permissions.PermissionState state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="state" Type="System.Security.Permissions.PermissionState" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates either fully restricted (None) or Unrestricted access to metadata.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.ReflectionPermission" /> class with either fully restricted or unrestricted permission as specified.</para></summary><param name="state"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Security.Permissions.PermissionState" /> values. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.ReflectionPermissionFlag flag)" /><MemberSignature Language="C#" Value="public ReflectionPermission (System.Security.Permissions.ReflectionPermissionFlag flag);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.ReflectionPermissionFlag flag) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="flag" Type="System.Security.Permissions.ReflectionPermissionFlag" /></Parameters><Docs><remarks>To be added.</remarks><exception cref="T:System.ArgumentException">The <paramref name="flag" /> parameter contains a value that is not a combination of <see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> values.</exception><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.ReflectionPermission" /> class with the specified access.</para></summary><param name="flag"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Security.Permissions.ReflectionPermissionFlag" /> values. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Copy"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()" /><MemberSignature Language="C#" Value="public override System.Security.IPermission Copy ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission Copy() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of a permission represents the same access to resources as the original permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns an identical copy of the current permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of the current permission.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="Flags"><MemberSignature Language="C#" Value="public System.Security.Permissions.ReflectionPermissionFlag Flags { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype System.Security.Permissions.ReflectionPermissionFlag Flags" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Permissions.ReflectionPermissionFlag</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the type of reflection allowed for the current permission.</para></summary></Docs></Member><Member MemberName="FromXml"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement esd)" /><MemberSignature Language="C#" Value="public override void FromXml (System.Security.SecurityElement esd);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void FromXml(class System.Security.SecurityElement esd) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="esd" Type="System.Security.SecurityElement" /></Parameters><Docs><remarks><para>The state of the current instance is changed to the state encoded in 
   <paramref name="esd" />.</para><block subset="none" type="note"><para>For the XML encoding for this class, see the 
      <see cref="T:System.Security.Permissions.ReflectionPermission" /> class 
         page.</para><para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)" qualify="true" /> .</para></block></remarks><exception cref="T:System.ArgumentNullException">The <paramref name="esd" /> parameter is <see langword="null" />.</exception><exception cref="T:System.ArgumentException"><para>The <paramref name="esd" /> parameter is not a <see cref="T:System.Security.Permissions.ReflectionPermission" /> element.</para><para>-or-</para><para>The <paramref name="esd" /> parameter's version number is not valid.</para></exception><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reconstructs a permission with a specified state from an XML encoding.</para></summary><param name="esd"><attribution license="cc4" from="Microsoft" modified="false" />The XML encoding to use to reconstruct the permission. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Intersect"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)" /><MemberSignature Language="C#" Value="public override System.Security.IPermission Intersect (System.Security.IPermission target);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission Intersect(class System.Security.IPermission target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Security.IPermission" /></Parameters><Docs><exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is not <see langword="null" /> and is not an instance of <see cref="T:System.Security.Permissions.ReflectionPermission" /> . </exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The intersection of two permissions is a permission that describes the set of operations they both describe in common. Only a demand that passes both original permissions will pass the intersection.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns a permission that is the intersection of the current permission and the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new permission that represents the intersection of the current permission and the specified permission. This new permission is null if the intersection is empty.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />A permission to intersect with the current permission. It must be of the same type as the current permission. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsSubsetOf"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)" /><MemberSignature Language="C#" Value="public override bool IsSubsetOf (System.Security.IPermission target);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool IsSubsetOf(class System.Security.IPermission target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Security.IPermission" /></Parameters><Docs><exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is not <see langword="null" /> and is not an instance of <see cref="T:System.Security.Permissions.ReflectionPermission" /> . </exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current permission is a subset of the specified permission if the current permission specifies a set of operations that is wholly contained by the specified permission. For example, a permission that represents access to C:\example.txt is a subset of a permission that represents access to C:\. If this method returns true, the current permission represents no more access to the protected resource than does the specified permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the current permission is a subset of the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the current permission is a subset of the specified permission; otherwise, false.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsUnrestricted"><MemberSignature Language="C#" Value="public bool IsUnrestricted ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsUnrestricted() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An unrestricted permission represents access to any and all resources protected by the permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether the current permission is unrestricted.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the current permission is unrestricted; otherwise, false.</para></returns></Docs></Member><Member MemberName="System.Security.Permissions.IBuiltInPermission.GetTokenIndex"><MemberSignature Language="C#" Value="int IBuiltInPermission.GetTokenIndex ();" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int32 System.Security.Permissions.IBuiltInPermission.GetTokenIndex() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="ToXml"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()" /><MemberSignature Language="C#" Value="public override System.Security.SecurityElement ToXml ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.SecurityElement ToXml() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.SecurityElement</ReturnType></ReturnValue><Parameters /><Docs><remarks><block subset="none" type="note"><para>For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.ReflectionPermission" /> class page.</para><para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml" qualify="true" /> .</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates an XML encoding of the permission and its current state.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An XML encoding of the permission, including any state information.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="Union"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission other)" /><MemberSignature Language="C#" Value="public override System.Security.IPermission Union (System.Security.IPermission other);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission Union(class System.Security.IPermission other) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters><Parameter Name="other" Type="System.Security.IPermission" /></Parameters><Docs><exception cref="T:System.ArgumentException">The <paramref name="other " />parameter is not <see langword="null" /> and is not an instance of <see cref="T:System.Security.Permissions.ReflectionPermission" /> .</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The result of a call to <see cref="M:System.Security.Permissions.ReflectionPermission.Union(System.Security.IPermission)" /> is a permission that represents all the operations represented by both the current permission and the specified permission. Any demand that passes either permission passes their union.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a permission that is the union of the current permission and the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new permission that represents the union of the current permission and the specified permission.</para></returns><param name="other"><attribution license="cc4" from="Microsoft" modified="false" />A permission to combine with the current permission. It must be of the same type as the current permission. </param></Docs><Excluded>0</Excluded></Member></Members><TypeExcluded>0</TypeExcluded></Type>