﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ReflectionPermissionFlag" FullName="System.Security.Permissions.ReflectionPermissionFlag" FullNameSP="System_Security_Permissions_ReflectionPermissionFlag" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public sealed serializable ReflectionPermissionFlag extends System.Enum" /><TypeSignature Language="C#" Value="public enum ReflectionPermissionFlag" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed ReflectionPermissionFlag extends System.Enum" /><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><Base><BaseTypeName>System.Enum</BaseTypeName></Base><Attributes><Attribute><AttributeName>System.Flags</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This enumeration is used by the <see cref="T:System.Security.Permissions.ReflectionPermission" /> and <see cref="T:System.Security.Permissions.ReflectionPermissionAttribute" /> classes. If no <see cref="T:System.Security.Permissions.ReflectionPermission" /> is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. For more information, see <format type="text/html"><a href="42d9dc2a-8fcc-4ff3-b002-4ff260ef3dc5">Security Considerations for Reflection</a></format>.</para><block subset="none" type="note"><para>Because <see cref="T:System.Security.Permissions.ReflectionPermission" /> can provide access to private class members, we recommend that you grant <see cref="T:System.Security.Permissions.ReflectionPermission" /> to Internet code only with the <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess" /> flag, and not with any other flags.</para></block><para>The <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess" /> flag is introduced in the net_v20sp1_short. To use this flag, your application should target the net_v35_long or later. </para><block subset="none" type="note"><para><see cref="F:System.Security.Permissions.ReflectionPermissionFlag.AllFlags" /> does not include the <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess" /> flag. To get a mask that includes all flags in this enumeration, you must use the combination of <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.AllFlags" /> with <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess" />.</para></block><para>Starting with the net_v20sp1_short, the <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.ReflectionEmit" /> flag is no longer required to emit code, unless debug symbols are emitted. To use this feature, your application should target the net_v35_short or later. </para><para>Starting with the dnprdnlong, the <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" /> flag is no longer required to reflect on nonpublic types and members; the flag has been marked obsolete.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies the permitted use of the <see cref="N:System.Reflection" /> and <see cref="N:System.Reflection.Emit" /> namespaces.</para></summary></Docs><Members><Member MemberName="AllFlags"><MemberSignature Language="C#" Value="AllFlags" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag AllFlags = int32(7)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Security.Permissions.ReflectionPermissionFlag</ReturnType></ReturnValue><MemberValue>AllFlags</MemberValue><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>TypeInformation, MemberAccess, and ReflectionEmit are set. <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.AllFlags" /> does not include <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess" />.</para></summary></Docs></Member><Member MemberName="MemberAccess"><MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag MemberAccess = 0x2" /><MemberSignature Language="C#" Value="MemberAccess" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag MemberAccess = int32(2)" /><MemberType>Field</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><Parameters /><MemberValue>MemberAccess</MemberValue><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Invocation operations on all members are allowed, regardless of grant set. If this flag is not set, invocation operations are allowed only on visible members.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="NoFlags"><MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag NoFlags = 0x0" /><MemberSignature Language="C#" Value="NoFlags" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag NoFlags = int32(0)" /><MemberType>Field</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><Parameters /><MemberValue>NoFlags</MemberValue><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Enumeration of types and members is allowed. Invocation operations are allowed on visible types and members.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="ReflectionEmit"><MemberSignature Language="C#" Value="ReflectionEmit" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag ReflectionEmit = int32(4)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Security.Permissions.ReflectionPermissionFlag</ReturnType></ReturnValue><MemberValue>ReflectionEmit</MemberValue><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Emitting debug symbols is allowed. Beginning with the net_v20sp1_long, this flag is no longer required to emit code.</para></summary></Docs></Member><Member MemberName="RestrictedMemberAccess"><MemberSignature Language="C#" Value="RestrictedMemberAccess" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag RestrictedMemberAccess = int32(8)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Security.Permissions.ReflectionPermissionFlag</ReturnType></ReturnValue><Docs><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Restricted member access is provided for partially trusted code. Partially trusted code can access nonpublic types and members, but only if the grant set of the partially trusted code includes all permissions in the grant set of the assembly that contains the nonpublic types and members being accessed. This flag is new in the net_v20sp1_short.</para></summary></Docs></Member><Member MemberName="TypeInformation"><MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag TypeInformation = 0x1" /><MemberSignature Language="C#" Value="TypeInformation" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.ReflectionPermissionFlag TypeInformation = int32(1)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Obsolete("not used anymore")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Security.Permissions.ReflectionPermissionFlag</ReturnType></ReturnValue><Parameters /><MemberValue>TypeInformation</MemberValue><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>This flag is obsolete. No flags are necessary to enumerate types and members and to examine their metadata. Use <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.NoFlags" /> instead.</para></summary></Docs><Excluded>0</Excluded></Member></Members><TypeExcluded>0</TypeExcluded></Type>