Controls access to non-public types and members through the System.Reflection APIs. Controls some features of the System.Reflection.Emit APIs.
See Also: ReflectionPermission Members
Without System.Security.Permissions.ReflectionPermission, code can use reflection to access only the public members of objects. Code with System.Security.Permissions.ReflectionPermission and the appropriate System.Security.Permissions.ReflectionPermissionFlag flags can access the protected and private members of objects.
Because System.Security.Permissions.ReflectionPermission can provide access to non-public types and members, we recommend that you do not grant System.Security.Permissions.ReflectionPermission to Internet code, except with the ReflectionPermissionFlag.RestrictedMemberAccess flag. 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.
Certain features of reflection emit, such as emitting debug symbols, require System.Security.Permissions.ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag.
For more information, see the System.Security.Permissions.ReflectionPermissionFlag enumeration.