Reflection mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ] 1.0.5000.0 2.0.0.0 4.0.0.0 All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe. System.Security.CodeAccessPermission System.Security.Permissions.IBuiltInPermission System.Security.Permissions.IUnrestrictedPermission

Secures access to the metadata of non-public types and members through reflection.

Code with the appropriate has access to non-public members of a type . Without , code can access only the public members of assemblies.

Without , untrusted code can perform the following operations on members of loaded assemblies:

Obtain type information from metadata for public types and members.
Invoke public members.
Invoke members defined with family access in the calling code's base classes.
Invoke members defined with assembly access in the calling code's assembly.
Invoke members defined with or access in the calling code's base classes and/or assembly.
Enumerate assemblies.
Enumerate public types.
Enumerate types in the calling

code's assembly.

instances can allow untrusted code to obtain type and member information, invoke members, and enumerate types that would otherwise be inaccessible. Because can provide access to members and information that were not intended for public access, it is recommended that be granted only to trusted code.

The XML encoding of a instance is defined below in EBNF format. The following conventions are used:

All non-literals in the grammar below are shown in normal type.

All literals are in bold font.

The following meta-language symbols are used:

'*' represents a meta-language symbol suffixing an expression that can appear zero or more times.
'?' represents a meta-language symbol suffixing an expression that can appear zero or one time.
'+' represents a meta-language symbol suffixing an expression that can appear one or more times.
'(',')' is used to group literals, non-literals or a mixture of literals and non-literals.
'|' denotes an exclusive disjunction between two expressions.
'::= ' denotes a production rule where a left hand non-literal is replaced by a right hand expression containing literals, non-literals or both.

BuildVersion refers to the build version of the shipping CLI. This is specified as a dotted build number such as '2412.0' .

ECMAPubKeyToken ::=

ReflectionPermissionFlag = |

Each ReflectionPermissionFlag can appear in the XML no more than once. For example, Flags=MemberAccess,MemberAccess is illegal.

The XML encoding of a instance is as follows:

ReflectionPermissionXML ::=

BuildVersion

ECMAPubKeyToken

(

)

|

(

| (ReflectionPermissionFlag (ReflectionPermissionFlag)*

)

- Constructor
  To be added.
  To be added.
  To be added.
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Constructor
  One or more values.

  Constructs and initializes a new instance of the class with the specified access.

  To be added.
  The parameter contains a value that is not a combination of values.
  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Security.IPermission

  Returns a new object containing the same values as the current instance.

  A new instance that contains the same values as the current instance.

  The object returned by this method represents the same access to resources as the current instance.

  This method overrides and is implemented to support the interface.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Security.Permissions.ReflectionPermissionFlag To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` A instance containing the XML encoding to use to reconstruct the state of a object.

  Reconstructs the state of a object using the specified XML encoding.

  The state of the current instance is changed to the state encoded in .

  For the XML encoding for this class, see the class page.

  This method overrides .

  The parameter is .

  The parameter is not a element.

  -or-

  The parameter's version number is not valid.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Security.IPermission `` A instance to intersect with the current instance.

  Returns a new object that is the intersection of the current instance and the specified object.

  A new instance that represents the intersection of the current instance and . If the intersection is empty, returns . If is , returns .

  The intersection of two permissions is a permission that secures the resources and operations secured by both permissions. Specifically, it represents the minimum permission such that any demand that passes both permissions will also pass their intersection.

  This method overrides and is implemented to support the interface.

  The parameter is not and is not an instance of . 0 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Boolean `` A instance that is to be tested for the subset relationship.

  Determines whether the current instance is a subset of the specified object.

  if the current instance is a subset of ; otherwise,. If the current instance is unrestricted, and is not, returns . If is unrestricted, returns . If target is and the access level of the current instance is , returns . If target is and the access level of the current instance is any value other than , returns .

  The current instance is a subset of if the current instance specifies a set of accesses to resources that is wholly contained by . For example, a permission that represents access to type information is a subset of a permission that represents access to type information and members.

  This method overrides and is implemented to support the interface.

  The parameter is not and is not an instance of . 0 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Boolean To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Int32 To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Security.SecurityElement

  Returns the XML encoding of the current instance.

  A containing the XML encoding of the state of the current instance.

  For the XML encoding for this class, see the class page.

  This method overrides .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Security.IPermission `` A instance to be combined with the current instance.

  Returns a new object that is the union of the current instance and the specified object.

  A new instance that represents the union of the current instance and . If the current instance or is unrestricted, returns a instance that is unrestricted. If is , returns a copy of the current instance.

  The result of a call to is a permission that represents all of the access to resources represented by both the current instance and . Any demand that passes either the current instance or passes their union.

  This method overrides and is implemented to support the interface.

  The parameter is not and is not an instance of . 0 1.0.5000.0 2.0.0.0 4.0.0.0
0 System.Runtime.InteropServices.ComVisible(true)