BCL 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 This type is safe for multithreaded operations. System.Reflection.MemberInfo System.Reflection.MemberInfo Reflection System.Reflection.IReflect System.Runtime.InteropServices._Type System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None) System.Runtime.InteropServices.ComDefaultInterface(typeof(System.Runtime.InteropServices._Type)) System.Runtime.InteropServices.ComVisible(true)

Provides information about a type.

The class is abstract, as is the class and its subclasses , , , and . and are subclasses of . The runtime provides non-public implementations of these classes. For example, is typed as returning a object. The returned object is actually an instance of the non-public runtime type that implements .

A conforming CLI program which is written to run on only the Kernel profile cannot subclass . This only applies to conforming programs not conforming implementations.

A object that represents a type is unique; that is, two object references refer to the same object if and only if they represent the same type. This allows for comparison of objects using reference equality.

An instance of can represent any one of the following types:

Classes
Value types
Arrays
Interfaces
Pointers
Enumerations
Constructed generic types and generic type definitions
Type arguments and type parameters of constructed generic types, generic type definitions, and generic method definitions

The following table shows what members of a base class are returned by the methods that return members of types, such as and .

Member Type
Static Non-Static
Constructor
No No
Field
No Yes. A field is always hide-by-name-and-signature.
Event
Not applicable The common type system rule is that the inheritance of an event is the same as that of the accessors that implement the event. Reflection treats events as hide-by-name-and-signature.
Method
No Yes. A method (both virtual and non-virtual) can be hide-by-name or hide-by-name-and-signature.
Nested Type
No No
Property
Not applicable The common type system rule is that the inheritance is the same as that of the accessors that implement the property. Reflection treats properties as hide-by-name-and-signature.

For reflection, properties and events are hide-by-name-and-signature. If a property has both a get and a set accessor in the base class, but the derived class has only a get accessor, the derived class property hides the base class property, and the setter on the base class will not be accessible.

The description of contains definitions for some important terms.

- Constructor

  Constructs a new instance of the class.

  To be added.
  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.Assembly

  Gets the in which the type is declared. For generic types, gets the that contains the generic type definition.

  A instance that describes the assembly containing the current type. For generic types, the instance describes the assembly that contains the definition of the generic type.

  If the current instance represents a generic type, this property returns the assembly in which the type was defined. For example, suppose you create an assembly named MyGenerics.dll that contains a class named . If you create an instance of in another assembly, the property for the constructed type returns a that represents MyGenerics.dll.

  Similarly, if the current instance represents a generic parameter T, this property returns the assembly that contains the generic type definition that defines T.

  This property is read-only.

  1
  RuntimeInfrastructure
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.String

  Gets the fully qualified name of the type represented by the current instance including the name of the assembly from which the was loaded.

  The assembly-qualified name of the , including the name of the assembly from which the was loaded. If the current object represents a generic parameter, this property returns .

  This property is read-only.

  Compilers emit the simple name of a nested class, and reflection constructs a mangled name when queried, in accordance with the following conventions.

  Delimiter
  Meaning
  Backslash (\)
  Escape character.
  Comma (,)
  Precedes the Assembly name.
  Plus sign (+)
  Precedes a nested class.
  Period (.)
  Denotes namespace identifiers.
  Square brackets ([])

  After a type name, denotes an array of that type.

  -or-

  For a generic type, encloses the entire generic type argument list.

  -or-

  Within a type argument list, encloses an assembly-qualified type.

  For example, the fully qualified name for a class might look like this:

  TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly

  If the namespace were TopNamespace.Sub+Namespace, then the string would have to precede the plus sign (+) with an escape character (\) to prevent it from being interpreted as a nesting separator. Reflection emits this string as follows:

  TopNamespace.Sub\+Namespace.ContainingClass+NestedClass,MyAssembly

  A "++" becomes "\+\+", and a "\" becomes "\\".

  Type names are permitted to include trailing characters that denote additional information about the type, such as whether the type is a reference type, a pointer type or an array type. To retrieve the type name without these trailing characters, use t.GetElementType().ToString(), where is the type.

  Spaces are significant in all type name components except the assembly name. In the assembly name, spaces before the ',' separator are significant, but spaces after the ',' separator are ignored.

  Generic arguments of generic types are themselves fully qualified. For example, the output from the following C# program, if compiled to an assembly called Try64

  `using System; using System.Reflection; class MyTest { public static void Main(String[] args) { Type b = typeof(B<string,object>); Console.WriteLine(b.AssemblyQualifiedName); } } public class B<T,U> { }`

  is as follows:

  `B`2[[System.String, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Try64, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`

  The name returned by this method can be persisted and later used to load the . To search for and load a , use either with the type name only or with the assembly qualified type name. with the type name only will look for the in the caller's assembly and then in the System assembly. with the assembly qualified type name will look for the in any assembly.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.TypeAttributes

  Gets the attributes associated with the type represented by the current instance.

  A object representing the attribute set of the .

  This property is read-only.

  If the current instance represents a generic type, this property returns the attributes of the generic type definition.

  If the current instance represents a generic type parameter T, the returned by this property includes , , , , , and . These are arbitrary choices which have no meaning in the context of a type parameter.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Type

  Gets the base of the current .

  A object representing the type from which the current directly inherits, or if the current represents the class.

  The base type is the type from which the current type directly inherits. is the only type that does not have a base type, therefore is returned as the base type of .

  Interfaces inherit from and from zero or more base interfaces; therefore, the base type of an interface is considered to be .

  If the current instance represents a constructed generic type, the base type reflects the generic arguments.

  If the current instance represents an unassigned type parameter, returns the base class type constraint declared for that parameter, or if no base class type constraint was declared.

  This property is read-only.

  The following example demonstrates using the property.

  `using System; class TestType { public static void Main() { Type t = typeof(int); Console.WriteLine("{0} inherits from {1}", t,t.BaseType); } }`

  The output is

  System.Int32 inherits from System.ValueType

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether a object contains unassigned generic parameters.

  if a object contains unassigned generic parameters; otherwise .

  In order to create an instance of a generic type, there must be no generic type definitions or open constructed types in the type arguments. For other constructed types, such as arrays and managed pointers, the types from which they are constructed must be able to be instantiated. If the property returns , the type cannot be instantiated.

  The property searches recursively for type parameters. For example, it returns true for an array whose element type is , even though the array type itself is not generic. Contrast this with the behavior of the property, which returns for arrays.

  For a set of example classes and a table showing the values of the property, see the property description.

  This property is read-only.

  For an example of using this method, see the example for .

  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.MethodBase

  If the current represents a type parameter of a generic method, gets a that represents the declaring method.

  If the current represents a type parameter of a generic method, a that represents the declaring method; otherwise .

  The declaring method is a generic method definition. That is, if does not return , then returns .

  The and properties identify the generic type definition or generic method definition where the generic type parameter was originally defined:

  If the property returns a , that represents a generic method definition, and the current object represents a type parameter of that generic method definition.

  If the property returns a , then the property always returns a object representing a generic type definition, and the current object represents a type parameter of that generic type definition.

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  This property is read-only.

  2.0.0.0
  4.0.0.0
- Property
  System.Type

  Gets the type that declares the type represented by the current instance.

  The object for the class that declares the type represented by the current instance. If the type is a nested type, this property returns the enclosing type; otherwise, returns the current instance.

  This property implements the abstract property inherited from .

  If the current represents a type parameter of a generic type or method definition, the and properties identify the generic type definition or generic method definition where the generic type parameter was originally defined:

  If the property returns a , that represents a generic method definition, and the current object represents a type parameter of that generic method definition.

  If the property returns a , then the property always returns a object representing a generic type definition, and the current object represents a type parameter of that generic type definition.

  For a type parameter of a generic method, this property returns the type that contains the generic method definition.

  The following example demonstrates the property.

  `using System; using System.Reflection; public abstract class DeclaringTypeTest{ public abstract class MyClassA { public abstract int m(); } public abstract class MyClassB : MyClassA { } public static void Main() { Console.WriteLine("Declaring type of m is {0}", typeof(MyClassB).GetMethod("m").DeclaringType); } }`

  The output is

  Declaring type of m is DeclaringTypeTest+MyClassA

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.Binder

  Gets the default binder used by the system.

  The default used by the system.

  This property is read-only.

  Reflection models the accessibility rules of the common type system. For example, if the caller is in the same assembly, the caller does not need special permissions for internal members. Otherwise, the caller needs . This is consistent with lookup of members that are protected, private, and so on.

  The general principle is that typically performs only widening coercions, which never lose data. An example of a widening coercion is coercing a value that is a 32-bit signed integer to a value that is a 64-bit signed integer. This is distinguished from a narrowing coercion, which can lose data. An example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit signed integer.

  The following table lists the coercions performed by the default binder's implementation of .

  Source Type
  Target Type
  Any type
  Its base type.
  Any type
  The interface it implements.
  Char
  Unt16, UInt32, Int32, UInt64, Int64, Single, Double
  Byte
  Char, Unt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
  SByte
  Int16, Int32, Int64, Single, Double
  UInt16
  UInt32, Int32, UInt64, Int64, Single, Double
  Int16
  Int32, Int64, Single, Double
  UInt32
  UInt64, Int64, Single, Double
  Int32
  Int64, Single, Double
  UInt64
  Single, Double
  Int64
  Single, Double
  Single
  Double
  Non-reference
  By-reference. 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Char

  Specifies the character that separates elements in the fully qualified name of a .

  This field is read-only.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Field
  System.Type[]

  Returns an empty array of type .

  This field is read-only.

  The empty array returned by this field is used to specify that lookup methods in the class, such as and , search for members that do not take parameters. For example, to locate the public instance constructor that takes no parameters, invoke ( | , , , ).

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Boolean `` The whose underlying system type is to be compared with the underlying system type of the current .

  Determines if the underlying system type of the current is the same as the underlying system type of the specified .

  if the underlying system type of is the same as the underlying system type of the current ; otherwise, .

  To be added. 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Reflection.MemberFilter To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Reflection.MemberFilter To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Reflection.MemberFilter To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type[] `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MemberInfo[] `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.String

  Gets the fully qualified name of the type represented by the current instance.

  A containing the fully qualified name of the .

  For example, the fully qualified name of the C# string type is "System.String".

  If the current instance represents a generic type, the type arguments in the string returned by are qualified by their assembly, version, and so on, even though the string representation of the generic type itself is not qualified by assembly. Thus, produces the same result as , as with types that are not generic.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  This property is read-only.

  The following example demonstrates using the property.

  `using System; class TestType { public static void Main() { Type t = typeof(Array); Console.WriteLine("Full name of Array type is {0}",t.FullName); } }`

  The output is

  Full name of Array type is System.Array

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.GenericParameterAttributes

  Gets a combination of flags that describe the variance and special constraints of the current generic type parameter.

  A value that describes the variance and special constraints of the current generic type parameter.

  This property is read-only.

  The value of this property contains flags that describe whether the current generic type parameter is variant, and flags that describe any special constraints. Use to select the variance flags, and to select the constraint flags. Use to get the type constraints.

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  The current object is not a generic type parameter. That is, the property returns . 2.0.0.0 4.0.0.0
- Property
  System.Int32

  For a object that represents a type parameter of a generic type or generic method, gets the position of the type parameter in the type parameter list of the generic type or generic method.

  A zero-based integer representing the position of a type parameter in the type parameter list of the generic type or generic method that declared the parameter.

  This read-only property returns the position of a type parameter in the parameter list of the generic type definition or generic method definition where the type parameter was originally defined. The and properties identify the generic type or method definition:

  If the property returns a , that represents a generic method definition, and the current object represents a type parameter of that generic method definition.

  If the property returns a , then the property always returns a object representing a generic type definition, and the current object represents a type parameter of that generic type definition.

  To provide the correct context for the value of the property, it is necessary to identify the generic type or method a type parameter belongs to. For example, consider the return value of the generic method in the following C# code:

  `public class B<T, U> { } public class A<V> { public B<V, X> GetSomething<X>() { return new Base<V, X>(); } }`

  The type returned by depends on the type arguments supplied to class and itself. You can obtain a for and from that you can obtain the return type. When you examine the type parameters of the return type, returns zero for both. The position of is zero because is the first type parameter in the type parameter list for class . The position of is zero because is the first type parameter in the type parameter list for .

  Calling the property causes an exception if the current does not represent a type parameter. When you examine the type arguments of an open constructed type, use the property to tell which are type parameters and which are types. The property returns for a type parameter; you can then use the method to obtain its position, and the and properties to determine the generic method or type definition that defines it.

  The current type does not represent a type parameter. That is, returns .

  The following example defines a generic class with two type parameters, and a generic class that derives from it. The base class of the derived type has one unbound type parameter and one type parameter bound to . The example displays information about these generic classes, including the positions reported by .

  `using System; using System.Reflection; using System.Collections.Generic; // Define a base class with two type parameters. public class Base<T, U> { } // Define a derived class. The derived class inherits from a constructed // class that meets the following criteria: // (1) Its generic type definition is Base<T, U>. // (2) It specifies int for the first type parameter. // (3) For the second type parameter, it uses the same type that is used // for the type parameter of the derived class. // Thus, the derived class is a generic type with one type parameter, but // its base class is an open constructed type with one type argument and // one type parameter. public class Derived<V>: Base<int,V> { } public class Test { public static void Main() { Console.WriteLine("\n--- Display a generic type and the open constructed"); Console.WriteLine(" type from which it is derived."); // Create a Type object representing the generic type Derived. // Type derivedType = Type.GetType("Derived"); DisplayGenericTypeInfo(derivedType); // Display its open constructed base type. DisplayGenericTypeInfo(derivedType.BaseType); } private static void DisplayGenericTypeInfo(Type t) { Console.WriteLine("\n{0}", t); Console.WriteLine("\tIs this a generic type definition? {0}", t.IsGenericTypeDefinition); Console.WriteLine("\tDoes it have generic arguments? {0}", t.HasGenericArguments); Console.WriteLine("\tDoes it have unbound generic parameters? {0}", t.ContainsGenericParameters); if (t.HasGenericArguments) { // If the type is a generic type definition or a // constructed type, display the type arguments. // Type[] typeArguments = t.GetGenericArguments(); Console.WriteLine("\tList type arguments ({0}):", typeArguments.Length); foreach (Type tParam in typeArguments) { // IsGenericParameter is true only for generic type // parameters. // if (tParam.IsGenericParameter) { Console.WriteLine("\t\t{0} (unbound - parameter position {1})", tParam, tParam.GenericParameterPosition); } else { Console.WriteLine("\t\t{0}", tParam); } } } else { Console.WriteLine("\tThis is not a generic or constructed type."); } } } /* This example produces the following output: --- Display a generic type and the open constructed type from which it is derived. Derived[V] Is this a generic type definition? True Does it have generic arguments? True Does it have unbound generic parameters? True List type arguments (1): V (unbound - parameter position 0) Base[System.Int32, V] Is this a generic type definition? False Does it have generic arguments? True Does it have unbound generic parameters? True List type arguments (2): System.Int32 V (unbound - parameter position 0) */` 2.0.0.0 4.0.0.0
- Method
  System.Int32

  Returns the number of dimensions in the current .

  A containing the number of dimensions in the current .

  To be added. The current is not an array. 0 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.TypeAttributes

  When overridden in a derived type implements the property and returns the attributes specified for the type represented by the current instance.

  A value that signifies the attributes of the type represented by the current instance.

  This property is read-only.

  This method returns a value that indicates the attributes set in the metadata of the type represented by the current instance.

  Use this property to determine the visibility, semantics, and layout format of the type represented by the current instance. Also use this property to determine if the type represented by the current instance has a special name.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.ConstructorInfo ``

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the constructor to be returned. Specify to obtain a constructor that takes no parameters.

  Returns a public instance constructor defined in the type represented by the current instance. The parameters of the constructor match the specified argument types.

  A object representing the public instance constructor whose parameters match exactly the types in , if found; otherwise, . If the type represented by the current instance is contained in a loaded assembly, the constructor that matches the specified criteria is not public, and the caller does not have sufficient permissions, returns .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments. If the current instance represents an unassigned type parameter of a generic type or method, this method always returns .

  This version of is equivalent to ( | , , , ).

  is , or at least one of the elements in is .

  has more than one dimension.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(true)
- Method
  System.Reflection.ConstructorInfo `` `` `` ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns null.

  A object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use the .

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the constructor to be returned.

  The only defined value for this parameter is .

  Returns a constructor defined in the type represented by the current instance. The parameters of the constructor match the specified argument types and modifiers, under the specified binding constraints.

  A object that reflects the constructor that matches the specified criteria. If an exact match does not exist, will attempt to coerce the parameter types specified in to select a match. If is unable to select a match, returns . If the type represented by the current instance is contained in a loaded assembly, the constructor that matches the specified criteria is not public, and the caller does not have sufficient permissions, returns .

  The following are used to define which constructors to include in the search:

  Specify either or to get a return value other than .

  Specify to include public constructors in the search.

  Specify to include non-public constructors (that is, private and protected constructors) in the search.

  For more information, see .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments. If the current instance represents an unassigned type parameter of a generic type or method, this method always returns .

  is , or at least one of the elements in is .

  has more than one dimension.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(true)
- Method
  System.Reflection.ConstructorInfo `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(true)
- Method
  System.Reflection.ConstructorInfo `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.ConstructorInfo[]

  Returns an array of the public constructors defined in the type represented by the current instance.

  An array of objects that reflect the public constructors defined in the type represented by the current instance. If no public constructors are defined in the type represented by the current instance, or if the current instance represents an unassigned type parameter of a generic type or method, returns an empty array.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents a generic type parameter, the method returns an empty array.

  This version of is equivalent to ( | ).

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(true)
- Method
  System.Reflection.ConstructorInfo[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array of constructors defined in the type represented by the current instance, under the specified binding constraints.

  An array of objects that reflect the constructors that are defined in the type represented by the current instance and match the constraints of . If and are specified, this array includes the type initializer if it is defined. If no constructors meeting the constraints of are defined in the type represented by the current instance, or if the current instance represents an unassigned type parameter of a generic type or method, returns an empty array. If the type represented by the current instance is contained in a loaded assembly, the constructors that match the specified criteria are not public, and the caller does not have sufficient permission, returns .

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents a generic type parameter, the method returns an empty array.

  The following are used to define which constructors to include in the search:

  Specify either or to get a return value other than .

  Specify to include public constructors in the search.

  Specify to include non-public constructors (that is, private and protected constructors) in the search.

  For more information, see .

  As described above.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(true)
- Method
  System.Reflection.MemberInfo[]

  Returns an array of objects that reflect the default members defined in the type represented by the current instance.

  An array of objects reflecting the default members of the type represented by the current instance. If the type represented by the current instance does not have any default members, returns an empty array.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the members of the class constraint, or the members of if there is no class constraint; the members of all interface constraints; and the members of any interfaces inherited from class or interface constraints.

  The members returned by this method have the attribute.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Type

  Returns the element type of the current .

  A that represents the type used to create the current instance if the current instance represents an array, pointer, or an argument passed by reference. Otherwise, returns if the current instance is not an array or a pointer, or is not passed by reference, or represents a generic type or a type parameter of a generic type or method.

  To be added.

  The following example demonstrates the method.

  `using System; class TestType { public static void Main() { int[] array = {1,2,3}; Type t = array.GetType(); Type t2 = t.GetElementType(); Console.WriteLine("{0} element type is {1}",array, t2.ToString()); TestType newMe = new TestType(); t = newMe.GetType(); t2 = t.GetElementType(); Console.WriteLine("{0} element type is {1}", newMe, t2==null? "null" : t2.ToString()); } }`

  The output is

  System.Int32[] element type is System.Int32

  TestType element type is null

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  4.0.0.0
  System.String `` To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.String[] To be added. To be added. To be added.
- Method
  4.0.0.0
  System.Type To be added. To be added. To be added.
- Method
  4.0.0.0
  System.Array To be added. To be added. To be added.
- Method
  System.Reflection.EventInfo `` A containing the name of the public event to be returned.

  Returns a object reflecting the public event that has the specified name and is defined in the type represented by the current instance.

  A object reflecting the public event that is named and is defined in the type represented by the current instance, if found; otherwise, .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  This version of is equivalent to ( , | | ).

  The search for is case-sensitive.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the events of the class constraint; the events of all interface constraints; and the events of any interfaces inherited from class or interface constraints.

  is . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.EventInfo `` `` A containing the name of the event to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns null.

  Returns a object reflecting the event that has the specified name, is defined in the type represented by the current instance, and matches the specified binding constraints.

  A object reflecting the event that is named , is defined in the type represented by the current instance, and matches the constraints of . If an event matching these criteria is not found, returns . If the event is not public, the current instance represents a type from a loaded assembly, and the caller does not have sufficient permission, returns .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  The following are used to define which events to include in the search:

  Specify either or to get a return value other than .

  Specify to include public events in the search.

  Specify to include non-public events(that is, private and protected events) in the search.

  The following value can be used to change how the search works:

  to search only the events declared on the type, not events that were simply inherited.

  For more information, see .

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the events of the class constraint; the events of all interface constraints; and the events of any interfaces inherited from class or interface constraints.

  As described above.

  is . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.EventInfo[]

  Returns an array of objects that reflect the public events defined in the type represented by the current instance.

  An array of objects that reflect the public events defined in the type represented by the current instance. If no public events are defined in the type represented by the current instance, returns an empty array.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the events of the class constraint; the events of all interface constraints; and the events of any interfaces inherited from class or interface constraints.

  As described above.

  This version of is equivalent to ( | | ).

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.EventInfo[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns null.

  Returns an array of objects that reflect the events that are defined in the type represented by the current instance and match the specified binding constraints.

  An array of objects that reflect the events that are defined in the type represented by the current instance and match the constraints of . If no events match these constraints, returns an empty array. If the type reflected by the current instance is from a loaded assembly and the caller does not have permission to reflect on non-public objects in loaded assemblies, returns only public events.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  The following are used to define which events to include in the search:

  Specify either or to get a return value other than .

  Specify to include public events in the search.

  Specify to include non-public events (that is, private and protected events) in the search.

  For more information, see .

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the events of the class constraint; the events of all interface constraints; and the events of any interfaces inherited from class or interface constraints.

  As described above.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.FieldInfo `` A containing the name of the field to be returned.

  Returns a object reflecting the field that has the specified name and is defined in the type represented by the current instance.

  A object reflecting the field that is named and is defined in the type represented by the current instance, if found; otherwise, . If the selected field is non-public, the type represented by the current instance is from a loaded assembly and the caller does not have sufficient permission to reflect on non-public objects in loaded assemblies, returns .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  The search for is case-sensitive.

  This version of is equivalent to ( , | | ).

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the fields of the class constraint; the fields of all interface constraints; and the fields of any interfaces inherited from class or interface constraints.

  is . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.FieldInfo `` `` A containing the name of the field to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns a object reflecting the field that has the specified name, is defined in the type represented by the current instance, and matches the specified binding constraints.

  A object reflecting the field that is named , is defined in the type represented by the current instance, and matches the constraints of . If a field matching these criteria cannot be found, returns . If the field is not public, the current type is from a loaded assembly, and the caller does not have sufficient permission, returns .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  The following are used to define which fields to include in the search:

  Specify either or to get a return value other than .
  Specify to include public fields in the search.
  Specify to include non-public fields (that is, private and protected fields) in the search.

  The following values can be used to change how the search works:

  to search only the fields declared in the type, not fields that were simply inherited.
  to ignore the case of .

  For more information, see .

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the fields of the class constraint; the fields of all interface constraints; and the fields of any interfaces inherited from class or interface constraints.

  As described above.

  is . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.FieldInfo[]

  Returns an array of objects that reflect the public fields defined in the type represented by the current instance.

  An array of objects that reflect the public fields defined in the type represented by the current instance. If no public fields are defined in the type represented by the current instance, returns an empty array.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  This version of is equivalent to ( | | ).

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the fields of the class constraint; the fields of all interface constraints; and the fields of any interfaces inherited from class or interface constraints.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.FieldInfo[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array of objects that reflect the fields that are defined in the type represented by the current instance and match the specified binding constraints.

  An array of objects that reflect the fields that are defined in the type represented by the current instance and match the constraints of . If no fields match these constraints, returns an empty array. If the type represented by the current instance is from a loaded assembly and the caller does not have sufficient permission to reflect on non-public objects in loaded assemblies, returns only public fields.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  The following are used to define which fields to include in the search:

  Specify either or in order to get a return value other than .

  Specify to include public fields in the search.

  Specify to include non-public fields (that is, private and protected fields) in the search.

  The following values can be used to change how the search works:

  to search only the fields declared in the type, not fields that were simply inherited.

  For more information, see .

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the fields of the class constraint; the fields of all interface constraints; and the fields of any interfaces inherited from class or interface constraints.

  As described above.

  Requires permission to retrieve information on non-public members of a type in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type[]

  Returns an array of objects that represent the type arguments of a generic type or the type parameters of a generic type definition.

  An array of objects that represent the type arguments of a generic type or the type parameters of a generic type definition. Returns an empty array if the current type is not a generic type. The array elements are returned in the order in which they appear in the list of type arguments for the generic type.

  If the current type is a closed constructed type, the array returned by the method contains the type arguments that are bound to the type parameters. If the current type is a generic type definition, the array contains the type parameters. If the current type is an open constructed type in which some of the type parameters are bound to specific types, the array contains both type arguments and type parameters.

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  For an example of using this method, see the example for .

  2.0.0.0
  4.0.0.0
- Method
  System.Type[]

  Returns an array of objects that represent the type constraints on the current generic type parameter.

  An array of objects that represent the type constraints on the current generic type parameter.

  Each constraint on a generic type parameter is expressed as a object. The first element of the array is the class constraint, if any. If a type parameter has no class constraint and no interface constraints, an empty array of is returned for that type parameter. Use to get the special constraints.

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  The current object is not a generic type parameter. That is, the property returns . 2.0.0.0 4.0.0.0
- Method
  System.Type

  Returns a object that represents a generic type from which the current type can be constructed.

  A object representing a generic type from which the current type can be constructed.

  If two constructed types are created from the same generic type definition, the method returns the same object for both types.

  If you call on a object that already represents a generic type definition, it returns the current .

  An array type whose element type is a generic type is not itself generic. Use to determine whether a type is generic before calling .

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  The current type is not a generic type. That is, returns .

  For an example of using this method, see the example for .

  2.0.0.0
  4.0.0.0
- Method
  System.Int32

  Generates a hash code for the current instance.

  A containing the hash code for this instance.

  The algorithm used to generate the hash code is unspecified.

  This method overrides .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Type `` A containing the name of the interface to get.

  Searches for the interface with the specified name.

  A object representing the interface with the specified name, implemented or inherited by the current , if found; otherwise, .

  The search for is case-sensitive.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the interface constraints and any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  Even with the introduction of generics, this method continues to return only non-generic members. To get the generic ones, one must call , and filter them out.

  is . The current instance represents a type that implements the same generic interface with different type arguments. 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` A containing the name of the interface to return.

  A where indicates that the name search is to be done case-insensitively, and performs a case-sensitive search.

  Returns the specified interface, specifying whether to do a case-sensitive search.

  A object representing the interface with the specified name, implemented or inherited by the type represented by the instance, if found; otherwise, .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the interface constraints and any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  Even with the introduction of generics, this method continues to return only non-generic members. To get the generic ones, one must call , and filter them out.

  is . The current instance represents a type that implements the same generic interface with different type arguments. 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.InterfaceMapping `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(true)
- Method
  System.Type[]

  Returns all interfaces implemented or inherited by the type represented by the current instance.

  An array of objects representing the interfaces implemented or inherited by the type represented by the current instance. If no interfaces are found, returns an empty array.

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the interface constraints and any interfaces inherited from class or interface constraints.

  Even with the introduction of generics, the overloads of continue to return only non-generic members. To get the generic ones, one must call , and filter them out.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.MemberInfo[] `` A containing the name of the members to be returned.

  Returns an array of objects that reflect the public members that have the specified name and are defined in the type represented by the current instance.

  An array of objects that reflect the public members that are named and are defined in the type represented by the current instance. If no public members with the specified name are defined in the type represented by the current instance, returns an empty array.

  This version of is equivalent to ( , | | ).

  The search for is case-sensitive.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the members of the class constraint, or the members of if there is no class constraint; the members of all interface constraints; and the members of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  is . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MemberInfo[] `` `` A containing the name of the member to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array of objects that reflect the members defined in the type represented by the current instance that have the specified name and match the specified binding constraints.

  An array of objects that reflect the members named , are defined in the type represented by the current instance and match the constraints of . If no members match these constraints, returns an empty array. If the selected member is non-public, the type reflected by the current instance is from a loaded assembly and the caller does not have sufficient permission to reflect on non-public objects in loaded assemblies, returns .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .
  Specify to include public members in the search.
  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the members of the class constraint, or the members of if there is no class constraint; the members of all interface constraints; and the members of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  As described above.

  is . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MemberInfo[] `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MemberInfo[]

  Returns an array of objects that reflect the public members defined in the type represented by the current instance.

  An array of objects that reflect the public members defined in the type represented by the current instance. If no public members are defined in the type represented by the current instance, returns an empty array.

  This version of is equivalent to ( | | ).

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the members of the class constraint, or the members of if there is no class constraint; the members of all interface constraints; and the members of any interfaces inherited from class or interface constraints.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.MemberInfo[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array of objects that reflect the members that are defined in the type represented by the current instance and match the specified binding constraints.

  An array of objects that reflect the members defined in the type represented by the current instance that match the constraints of . If no members match these constraints, returns an empty array. If the type represented by the current instance is from a loaded assembly and the caller does not have sufficient permission to reflect on non-public objects in loaded assemblies, returns only public members.

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.

  For more information, see .

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the members of the class constraint, or the members of if there is no class constraint; the members of all interface constraints; and the members of any interfaces inherited from class or interface constraints.

  As described above.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MethodInfo `` A containing the name of the public method to be returned.

  Returns a object that reflects the public method that has the specified name and is defined in the type represented by the current instance.

  A object reflecting the public method that is defined in the type represented by the current instance and has the specified name, if found; otherwise, .

  The search for is case-sensitive.

  This version of is equivalent to (, | | , , , ).

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  More than one method matching the specified criteria was found. is . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MethodInfo `` `` A containing the name of the method to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns a object that reflects the method that has the specified name and is defined in the type represented by the current instance.

  A object that reflects the method that is defined in the type represented by the current instance and matches the specified criteria, if found; otherwise, .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  This version of is equivalent to (, , , , ).

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  More than one method matching the specified criteria was found. is . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MethodInfo `` `` A containing the name of the public method to be returned.

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.

  Returns a object that reflects the public method defined in the type represented by the current instance that has the specified name and parameter information.

  A object reflecting the public method defined in the type represented by the current instance that matches the specified criteria. If no public method matching the specified criteria is found, returns .

  The search for is case-sensitive.

  This version of is equivalent to (, | | , , , ).

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  More than one method matching the specified criteria was found.

  or is .

  -or-

  At least one of the elements in is .

  has more than one dimension.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.MethodInfo `` `` `` A containing the name of the public method to be returned.

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.

  The only defined value for this parameter is .

  Returns a object that reflects the public method that has the specified name and is defined in the type represented by the current instance.

  A object reflecting the public method that is defined in the type represented by the current instance and matches the specified criteria, if found; otherwise, .

  The default binder does not process .

  The search for is case-sensitive.

  This version of is equivalent to ( , | | , , , ).

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  More than one method matching the specified criteria was found.

  or is .

  -or-

  At least one of the elements in is .

  has more than one dimension.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.MethodInfo `` `` `` `` `` A containing the name of the method to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  A object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use the .

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.

  The only defined value for this parameter is .

  Returns a object that reflects the method that matches the specified criteria and is defined in the type represented by the current instance.

  A object that reflects the method defined in the type represented by the current instance that matches the specified criteria. If no method matching the specified criteria is found, returns . If the selected method is non-public, the type reflected by the current instance is from a loaded assembly, and the caller does not have permission to reflect on non-public objects in loaded assemblies, returns .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  The parameter cannot include type arguments.

  More than one method matching the specified criteria was found.

  or is .

  -or-

  At least one of the elements in is .

  has more than one dimension.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MethodInfo `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MethodInfo `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.MethodInfo[]

  Returns the public methods defined in the type represented by the current instance.

  An array of objects reflecting the public methods defined in the type represented by the current instance. If no methods are found, returns an empty array.

  This version of is equivalent to ( | | ).

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.MethodInfo[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array of objects that reflect the methods defined in the type represented by the current instance that match the specified binding constraints.

  An array of objects reflecting the methods defined in the type represented by the current instance that match the constraints of . If no such methods found, returns an empty array. If the type represented by the current instance is from a loaded assembly and the caller does not have permission to reflect on non-public objects in loaded assemblies, returns only public methods.

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.

  For more information, see .

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the methods of the class constraint, or the methods of if there is no class constraint; the methods of all interface constraints; and the methods of any interfaces inherited from class or interface constraints.

  As described above.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` A containing the name of the public nested type to return. Specify the unqualified name of the nested type. For example, for a type B nested within A, if typeA represents the type object for A, the correct invocation is typeA.GetNestedType("B").

  Returns the public nested type defined in the type represented by the current instance

  A object representing the public nested type with the specified name, if found; otherwise, .

  The search for is case-sensitive.

  Use the simple name of the nested class for ; do not qualify it with the name of the outer class. CLS rules require a naming pattern for nested types; see Partition I.

  If the current instance represents an unassigned type parameter of a generic type or method definition, this method does not search the nested types of the class constraint.

  The parameter cannot include type arguments. For example, passing "MyGenericNestedType<int>" to this method searches for a nested type with the text name "MyGenericNestedType<int>", rather than for a nested type named MyGenericNestedType that has one generic argument of type . If the nested type is generic, what is returned is always a generic type definition.

  For information on constructing nested generic types from their generic type definitions, see the method.

  is . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` A containing the name of the nested type to return. Specify the unqualified name of the nested type. For example, for a type B nested within A, if typeA represents the type object for A, the correct invocation is typeA.GetNestedType("B").

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns a nested types defined in the type represented by the current instance that match the specified binding constraints.

  A object representing the nested type that matches the specified criteria, if found; otherwise, . If the selected nested type is non-public, the current instance represents a type contained in a loaded assembly and the caller does not have sufficient permissions, returns .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the nested types of the class constraint.

  The parameter cannot include type arguments.

  is . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type[]

  Returns all the public types nested within the current .

  An array of objects representing all public types nested within the type represented by the current instance, if any. Otherwise, returns an empty array.

  This version of is equivalent to ().

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the nested types of the class constraint.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Type[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array containing the nested types defined in the type represented by the current instance that match the specified binding constraints.

  An array of objects representing all types nested within the type represented by the current instance that match the specified binding constraints, if any. Otherwise, returns an empty array. If the type reflected by the current instance is contained in a loaded assembly, the type that matches the specified criteria is not public, and the caller does not have sufficient permission, returns only public types.

  The following are used to define which members to include in the search:

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.

  For more information, see .

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the nested types of the class constraint.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.PropertyInfo[]

  Returns an array of objects that reflect the public properties defined in the type represented by the current instance.

  An array of objects that reflect the public properties defined in the type represented by the current instance. If no public properties are found, returns an empty array.

  This version of is equivalent to ( | | ).

  A property is considered by reflection to be if it has at least one accessor that is . Otherwise, the property is considered to be not .

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.PropertyInfo[] ``

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns an array of objects that reflect the properties defined for the type represented by the current instance that match the specified binding constraints.

  An array of objects that reflect the properties defined in the type represented by the current instance and match the constraints of . If no matching properties are found, returns an empty array. If the type represented by the current instance is from a loaded assembly and the caller does not have permission to reflect on non-public objects in loaded assemblies, returns only public properties.

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.

  For more information, see .

  If the current instance represents a generic type, this method returns the objects with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  A property is considered by reflection to be if it has at least one accessor that is . Otherwise, the property is not .

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.PropertyInfo `` A containing the name of the property to be returned.

  Returns a object that reflects the public property defined in the type represented by the current instance that has the specified name.

  A object reflecting the public property defined on the type represented by the current instance that has the specified name. If no matching property is found, returns .

  This version of is equivalent to (, | | , , , , ).

  The search for is case-sensitive.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  More than one property matching the specified criteria was found.

  is .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` A containing the name of the property to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  Returns a object that reflects the property defined in the type represented by the current instance that matches the specified search criteria.

  A object reflecting the property defined in the type represented by the current instance that matches the specified criteria. If no matching property is found, returns . If the type reflected by the current instance is contained in a loaded assembly, the property that matches the specified criteria is not public, and the caller does not have sufficient permission, returns .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  This version of is equivalent to (, , , , , ).

  The search for is case-sensitive.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  More than one property matching the specified criteria was found.

  is .

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` A containing the name of the property to be returned. A object that represents the type of the property to be returned. To be added.

  Returns a object that reflects the public property defined in the type represented by the current instance that matches the specified search criteria.

  A object reflecting the public property defined on the type represented by the current instance that matches the specified criteria. If no matching property is found, returns .

  This version of is equivalent to (, | | , , , , ).

  The search for is case-sensitive.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  More than one property matching the specified criteria was found.

  is .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` A containing the name of the public property to be returned.

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify to obtain a property that is not indexed.

  Returns a object that reflects the public property defined in the type represented by the current instance that matches the specified search criteria.

  A object reflecting the public property defined on the type represented by the current instance that matches the specified criteria. If no matching property is found, returns .

  This version of is equivalent to (, | | , , , , ).

  The search for is case-sensitive.

  Different programming languages use different syntax to specify indexed properties. Internally, this property is referred to by the name "Item" in the metadata. Therefore, any attempt to retrieve an indexed property using reflection is required to specify this internal name in order for the to be returned correctly.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  More than one property matching the specified criteria was found.

  or is , or at least one of the elements in is .

  has more than one dimension.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` `` A containing the name of the public property to be returned. A object that represents the type of the public property to be returned.

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify for a property that is not indexed.

  To be added.

  Returns a object that reflects the public property defined in the type represented by the current instance that matches the specified search criteria.

  A object reflecting the public property defined in the type represented by the current instance that matches the specified criteria. If no matching property is found, returns .

  This version of is equivalent to (, | | , , , , ).

  The search for is case-sensitive.

  Different programming languages use different syntax to specify indexed properties. Internally, this property is referred to by the name "Item" in the metadata. Therefore, any attempt to retrieve an indexed property using reflection is required to specify this internal name in order for the to be returned correctly.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  More than one property matching the specified criteria was found.

  or is , or at least one of the elements in is .

  has more than one dimension. 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` `` `` `` `` A containing the name of the property to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  A object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use the .

  A object that represents the type of the property to be returned.

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify to obtain a property that is not indexed.

  The only defined value for this parameter is . To be added.

  Returns a object that reflects the property defined in the type represented by the current instance that matches the specified search criteria .

  A object reflecting the property that is defined in the type represented by the current instance and matches the specified criteria. If no matching property is found, returns . If the type reflected by the current instance is contained in a loaded assembly, the property that matches the specified criteria is not public, and the caller does not have sufficient permission, returns .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  This version of is equivalent to (, , , , , ).

  Different programming languages use different syntax to specify indexed properties. Internally, this property is referred to by the name "Item" in the metadata. Therefore, any attempt to retrieve an indexed property using reflection is required to specify this internal name in order for the to be returned correctly.

  If the current instance represents a generic type, this method returns the with the type parameters replaced by the appropriate type arguments.

  If the current instance represents an unassigned type parameter of a generic type or method, this method searches the properties of the class constraint; the properties of all interface constraints; and the properties of any interfaces inherited from class or interface constraints.

  More than one property matching the specified criteria was found.

  or is , or at least one of the elements in is .

  has more than one dimension.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.PropertyInfo `` `` `` `` `` `` A containing the name of the property to be returned.

  A bitwise combination of values that control the binding process. If zero is specified, this method returns .

  A object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use the .

  A object that represents the type of the property to be returned.

  An array of objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify to obtain a property that is not indexed.

  The only defined value for this parameter is . To be added.

  When overridden in a derived class implements the method and returns a object that reflects the property defined in the type represented by the current instance that matches the specified search criteria.

  A object representing the property that matches the specified search criteria, if found; otherwise, . If the type reflected by the current instance is from a loaded assembly, the matching property is not public, and the caller does not have permission to reflect on non-public objects in loaded assemblies, returns .

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .

  Specify to include public members in the search.

  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  Different programming languages use different syntax to specify indexed properties. Internally, this property is referred to by the name "Item" in the metadata. Therefore, any attempt to retrieve an indexed property using reflection is required to specify this internal name in order for the to be returned correctly.

  More than one property matching the specified criteria was found.

  or is , or at least one of the elements in is .

  has more than one dimension.

  Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` A containing the case-sensitive name of the to return.

  Returns the with the specified name.

  The with the specified name, if found; otherwise, . If the requested type is non-public and the caller does not have permission to reflect non-public objects outside the current assembly, this method returns .

  This method is equivalent to (, , ).

  can be a simple type name, a type name that includes a namespace, or a complex name that includes an assembly name specification. If includes only the name of the , this method searches in the calling object's assembly, then in the mscorlib.dll assembly. If is fully qualified with the partial or complete assembly name, this method searches in the specified assembly.

  can return a fully qualified type name including nested types, the assembly name, and generic type arguments. For complete details, see (, , ).

  is . A type initializer was invoked and threw an exception. Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` A containing the case-sensitive name of the to return.

  A . Specify to throw a if an error occurs while loading the . Specify to ignore errors while loading the .

  Returns the with the specified name, optionally throwing an exception if an error occurs while loading the .

  The with the specified name, if found; otherwise, . If the requested type is non-public and the caller does not have permission to reflect non-public objects outside the current assembly, this method returns .

  This method is equivalent to (, , ).

  can be a simple type name, a fully qualified name, or a complex name that includes an assembly name specification. If includes only the name of the , this method searches in the calling object's assembly, then in the mscorlib.dll assembly. If is fully qualified with the partial or complete assembly name, this method searches in the specified assembly.

  can return a fully qualified type name including nested types, the assembly name, and generic type arguments. For complete details, see (, , ).

  is . A type initializer was invoked and threw an exception. is and an error was encountered while loading the . Requires permission to retrieve information on non-public objects. See 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` `` A containing the name of the to return.

  A . Specify to throw a if an error occurs while loading the . Specify to ignore errors while loading the .

  A . Specify to perform a case-insensitive search for Specify to perform a case-sensitive search for .

  Returns the with the specified name, optionally performing a case-insensitive search and optionally throwing an exception if an error occurs while loading the .

  The with the specified name, if found; otherwise, . If the requested type is non-public and the caller does not have permission to reflect non-public objects outside the current assembly, this method returns .

  can be a simple type name, a fully qualified name, or a complex name that includes an assembly name. returns a fully qualified type name including nested types, the assembly name, and generic type arguments.

  If includes only the name of the , this method searches in the calling object's assembly, then in the mscorlib.dll assembly. If is fully qualified with the partial or complete assembly name, this method searches in the specified assembly.

  The following table shows calls to for various types. (Some long strings have been wrapped to fit in the right column.)

  To Get this Type
  Use this String
  An unmanaged pointer to
  Type.GetType("MyType*")
  An unmanaged pointer to a pointer to
  Type.GetType("MyType**")
  A managed pointer or reference to
  Type.GetType("MyType&")Note that unlike pointers, references are limited to one level.
  A parent class and a nested class
  Type.GetType("MyParentClass+MyNestedClass")
  A one-dimensional array with a lower bound of 0
  Type.GetType("MyArray[]")
  A one-dimensional array with an unknown lower bound
  Type.GetType("MyArray[*]")
  An n-dimensional array
  A comma (,) inside the brackets a total of n-1 times. For example, System.Object[,,] represents a three-dimensional array.
  A two-dimensional array's array
  Type.GetType("MyArray[][]")
  A rectangular two-dimensional array with unknown lower bounds
  Type.GetType("MyArray[*,*]") or Type.GetType("MyArray[,]")
  A generic type with one type argument
  Type.GetType("MyGenericType[MyType]")
  A generic type with two type arguments
  Type.GetType("MyGenericType[MyType,AnotherType]")
  A generic type with two assembly-qualified type arguments
  Type.GetType("MyGenericType[[MyType,MyAssembly], [AnotherType,AnotherAssembly]]")
  An assembly-qualified generic type with an assembly-qualified type argument
  Type.GetType("MyGenericType[[MyType,MyAssembly]] ,MyGenericTypeAssembly")
  A generic type whose type argument is a generic type with two type arguments
  Type.GetType("MyGenericType[AnotherGenericType [MyType,AnotherType]]") is . A type initializer was invoked and threw an exception. is and an error was encountered while loading the selected . Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Type `` `` `` To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.Type `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.Type `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Type[] `` An array of objects whose types are to be returned.

  Returns the types of the objects in the specified array.

  An array of objects representing the types of the corresponding elements in . If a requested type is not public and the caller does not have permission to reflect non-public objects outside the current assembly, the corresponding element in the array returned by this method will be .

  To be added. is . The type initializers were invoked and at least one threw an exception. Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.TypeCode `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.TypeCode To be added. To be added. To be added.
- Method
  System.Type `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` The object that refers to the desired .

  Gets the referenced by the specified type handle.

  The referenced by the specified .

  The handles are valid only in the application domain in which they were obtained.

  is . The requested type is non-public and outside the current assembly, and the caller does not have the required permission. A type initializer was invoked and threw an exception. Requires permission to retrieve information on non-public objects. See 1 RuntimeInfrastructure 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.RuntimeTypeHandle `` The object for which to get the type handle.

  Returns the handle for the of the specified object.

  The for the of the specified .

  The handle is valid only in the application domain in which it was obtained.

  1
  RuntimeInfrastructure
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Guid To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the type represented by the current instance encompasses or refers to another type; that is, whether the current is an array, a pointer, or is passed by reference.

  if the is an array, a pointer, or is passed by reference; otherwise, .

  This property is read-only.

  For example, (" []").HasElementType returns , but (" ").HasElementType returns . also returns for "Int32*" and "Int32&".

  If the current instance represents a generic type, or a type parameter of a generic type or method, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean

  When overridden in a derived class, implements the property and determines whether the current encompasses or refers to another type; that is, whether the current is an array, a pointer, or is passed by reference.

  if the is an array, a pointer, or is passed by reference; otherwise, .

  For example, ("System.Int32[]").HasElementTypeImpl returns , but ("System.Int32").HasElementTypeImpl returns . also returns for "System.Int32*" and "System.Int32&".

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Object `` `` `` `` ``

  A containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify to invoke that member. For more information on default members, see .

  A bitwise combination of values that control the binding process. If zero is specified, | is used by default.

  A object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use the .

  A on which to invoke the member that matches the other specified criteria. If the matching member is , this parameter is ignored. An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound. Specify an empty array or for a member that has no parameters.

  Invokes the specified member, using the specified binding constraints and matching the specified argument list.

  A containing the return value of the invoked member. If the invoked member does not have a return value, returns a containing .

  This version of is equivalent to (, , , , , , , ).

  For a demonstration of the use of , see the example for ( , , , , [], [], , []).

  is .

  has more than one dimension.

  -or-

  is not a valid value.

  -or-

  The member to be invoked is a constructor and is not specified in .

  -or-

  The member to be invoked is a method that is not a type initializer or instance constructor, and is not specified in .

  -or-

  The member to be accessed is a field, and neither nor is specified in .

  -or-

  The member to be accessed is a property, and neither nor is specified in .

  -or-

  contains and at least one of , , , , or .

  -or-

  contains both and .

  -or-

  contains both and .

  -or-

  contains and at least one of or .

  -or-

  contains and has more than one element.

  A field or property matching the specified criteria was not found.

  A method matching the specified criteria cannot be found.

  -or-

  The current instance object represents a type that contains open type parameters (that is,

  returns

  ).

  The requested member is non-public and the caller does not have the required permission. The member matching the specified criteria cannot be invoked on . The member matching the specified criteria threw an exception. More than one member matches the specified criteria. Requires permission to retrieve information on non-public members of types in loaded assemblies. See . 1 Reflection 1.0.5000.0 2.0.0.0 4.0.0.0 System.Diagnostics.DebuggerStepThrough
- Method
  System.Object `` `` `` `` `` ``

  A containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify to invoke that member. For more information on default members, see .

  A bitwise combination of values that control the binding process. If zero is specified, | is used by default.

  A object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use the .

  A on which to invoke the member that matches the other specified criteria. If the matching member is , this parameter is ignored. An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound. Specify an empty array or for a member that has no parameters.

  The only defined value for this parameter is .

  Invokes the specified member, using the specified binding constraints and matching the specified argument list and culture.

  A containing the return value of the invoked member. If the invoked member does not have a return value, returns a containing .

  This version of is equivalent to ( , , , , , , , ).

  is .

  has more than one dimension.

  -or-

  is not a valid value.

  -or-

  The member to be invoked is a constructor and is not specified in .

  -or-

  The member to be invoked is a method that is not a type initializer or instance constructor, and is not specified in .

  -or-

  The member to be accessed is a field, and neither nor is specified in .

  -or-

  The member to be accessed is a property, and neither nor is specified in .

  -or-

  contains and at least one of , , , , or .

  -or-

  contains both and .

  -or-

  contains both and .

  -or-

  contains and at least one of or .

  -or-

  contains and has more than one element.

  A field or property matching the specified criteria was not found.

  A method matching the specified criteria was not found.

  -or-

  The current instance object represents a type that contains open type parameters (that is,

  returns

  ).

  The requested member is non-public and the caller does not have the required permission. The member matching the specified criteria cannot be invoked on . The member matching the specified criteria threw an exception. More than one member matches the specified criteria. Requires permission to retrieve information on non-public members of types in loaded assemblies. See .

  For an example that demonstrates , see ( , , , , [], [], , []).

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Diagnostics.DebuggerStepThrough
- Method
  System.Object `` `` `` `` `` `` `` ``

  A containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify to invoke that member. For more information on default members, see .

  A bitwise combination of values that control the binding process. If zero is specified, | is used by default.

  A that defines a set of properties, and enables the binding, coercion of argument types, and invocation of members using reflection. Specify to use. A on which to invoke the member that matches the other specified criteria. If the matching member is , this parameter is ignored. An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound if and only if is . If is not , the order of the elements in corresponds to the order of the parameters specified in . Specify an empty array or for a member that takes no parameters.

  The only defined value for this parameter is .

  The only defined value for this parameter is .

  An array of objects containing the names of the parameters to which the values in are passed. These names are processed in a case-sensitive manner and have a one-to-one correspondence with the elements of . Specify an empty array or for a member that takes no parameters. Specify to have this parameter ignored.

  Invokes or accesses a member defined on the type represented by the current instance that matches the specified binding criteria.

  A containing the return value of the invoked or accessed member. If the member does not have a return value, returns a containing .

  calls a constructor or a method , gets or sets a property , gets or sets a field, or gets or sets an element of an array.

  The binder finds all of the matching members. These members are found based upon the type of binding specified by . The is responsible for selecting the method to be invoked. The default binder selects the most specific match. The set of members is then filtered by name, number of arguments, and a set of search modifiers defined in the binder. After the member is selected, it is invoked or accessed. Accessibility is checked at that point. Access restrictions are ignored for fully trusted code; that is, private constructors, methods, fields, and properties can be accessed and invoked via reflection whenever the code is fully trusted.

  The following are used to define which members to include in the search:

  Specify either or to get a return value other than .
  Specify to include public members in the search.
  Specify to include non-public members (that is, private and protected members) in the search.

  The following values can be used to change how the search works:

  to search only the members declared in the type, not members that were simply inherited.
  to ignore the case of .

  For more information, see .

  Each parameter in the array is assigned the value in the corresponding element in the array. If the length of is greater than the length of , the remaining argument values are passed in order.

  A member will be found only if the number of parameters in the member declaration equals the number of arguments in the args array (unless default arguments are defined on the member). Also, The type of each argument is required to be convertible by the binder to the type of the parameter.

  It is required that the caller specify values for as follows:

  Action
  BindingFlags
  Invoke a constructor.
  . This flag is not valid with the other flags in this table. If this flag is specified, is ignored.
  Invoke a method.
  . This flag if not valid with , , or .
  Define a field value.
  . This flag is not valid with , , or .
  Return a field value.
  . This flag is not valid with , , or .
  Set a property.
  . This flag is not valid with , , or .
  Get a property.
  . This flag is not valid with , , or .

  For more information, see .

  can be used to invoke methods with parameters that have default values. To bind to these methods, must be specified. For a parameter that has a default value, the caller can supply a value or supply

  to use the default value.

  can be used to set a field to a particular value by specifying . For example, to set a public instance field named F on class C, where F is a string, the value is set using the following statement:

  typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{ "strings new value"}, null, null, null);

  A string array F can be initialized as follows:

  typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{new String[]{"a","z","c","d"}, null, null, null);

  Use to set the value of an element in an array by specifying the index of the value and the new value for the element as follows:

  typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{1, "b"}, null, null, null);

  The preceding statement changes "z" in array F to "b".

is .

has more than one dimension.

-or-

is not a valid value.

-or-

The member to be invoked is a constructor and is not specified in .

-or-

The member to be invoked is a method that is not a type initializer or instance constructor, and is not specified in .

-or-

The member to be accessed is a field, and neither nor is specified in .

-or-

The member to be accessed is a property, and neither nor is specified in .

-or-

contains and at least one of , , , , or .

-or-

contains both and .

-or-

contains both and .

-or-

contains and at least one of or .

-or-

contains and has more than one element.

-or-

.Length > .Length .

-or-

At least one element in is .

-or-

At least one element in is not assignment-compatible with the corresponding parameter in .

A field or property matching the specified criteria was not found.

A method matching the specified criteria cannot be found.

-or-

The current instance object represents a type that contains open type parameters (that is,

returns

).

The requested member is non-public and the caller does not have the required permission. The member matching the specified criteria cannot be invoked on . The member matching the specified criteria threw an exception. More than one member matches the specified criteria. Requires permission to retrieve information on non-public members of types in loaded assemblies. See .

The following example demonstrates the use of to construct a , obtain its property, invoke on it, and then set its value using the field.

`using System; using System.Reflection; class InvokeMemberExample { static void Main(string[] args) { // Create the parameter arrays that will // be passed to InvokeMember. char[] cAry = new char[] {'A',' ','s','t','r','i','n','g'}; object[] oAry = new object[] {cAry, 0, cAry.Length}; Type t = typeof(string); // Invoke the constructor of a string. string str = (string)t.InvokeMember(null, BindingFlags.Instance | BindingFlags.Public | BindingFlags.CreateInstance, null, null, oAry, null, null, null); Console.WriteLine("The string is \"{0}\".", str); // Access a property of the string. int i = (int) t.InvokeMember("Length", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetProperty, null, str, null, null, null, null); Console.WriteLine("The length of the string is {0}.", i); // Invoke a method on the string. string newStr = "new "; object[] oAry2 = new Object[] {2, newStr}; str = (string) t.InvokeMember("Insert", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, str, oAry2, null, null, null); Console.WriteLine("The modified string is \"{0}\".", str); // Access a field of the string. str = (string) t.InvokeMember("Empty", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, str, null); Console.WriteLine("The empty string is \"{0}\".", str); } }`

The output is

The string is "A string".

The length of the string is 8.

The modified string is "A new string"

The empty string is "".

1
Reflection
1.0.5000.0
2.0.0.0
4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the type represented by the current instance is abstract and is required to be overridden.

  if the is abstract; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property always returns . This is because it is not possible to create an instance of a generic type parameter.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Indicates whether the type attribute is selected for the current type.

  if the type attribute is selected for the current type; otherwise, .

  This property is read-only.

  If the current represents a generic type, this property applies to the definition of the type. If the current represents a type parameter of a generic type or method, this property always returns .

  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current represents an array.

  if the current represents an array; otherwise .

  This property is read-only.

  This property returns for an array of objects, but not for the type itself, which is a class.

  If the current instance represents a generic type, or a type parameter of a generic type or method, this property returns .

  The following example demonstrates using the property.

  `using System; class TestType { public static void Main() { int [] array = {1,2,3,4}; Type at = typeof(Array); Type t = array.GetType(); Console.WriteLine("Type is {0}. IsArray? {1}", at, at.IsArray); Console.WriteLine("Type is {0}. IsArray? {1}", t, t.IsArray); } }`

  The output is

  Type is System.Array. IsArray? False

  Type is System.Int32[]. IsArray? True

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean

  When overridden in a derived class implements the property returning a value that indicates whether the type represented by the current instance is an array.

  if the is an array; otherwise, .

  An instance of the class is required to return because it is an object, not an array.As described above.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean `` The to compare with the current .

  Determines whether an instance of the current can be assigned from an instance of the specified .

  if is a null reference.

  if one or more of the following statements are true; otherwise .

  If and the current represent the same type.

  If the current is in the inheritance hierarchy of .

  If the current is an interface and supports that interface.
  If is a generic type parameter and the current instance represents one of the constraints of .

  A generic type definition is not assignable from a closed constructed type.

  The following example demonstrates the method using arrays.

  `using System; class ArrayTypeTest { public static void Main() { int i = 1; int [] array10 = new int [10]; int [] array2 = new int[2]; int [,]array22 = new int[2,2]; int [,]array24 = new int[2,4]; int [,,]array333 = new int[3,3,3]; Type array10Type = array10.GetType(); Type array2Type = array2.GetType(); Type array22Type = array22.GetType(); Type array24Type = array24.GetType(); Type array333Type = array333.GetType(); // If X and Y are not both arrays, then false Console.WriteLine("int[2] is assignable from int? {0} ", array2Type.IsAssignableFrom(i.GetType())); // If X and Y have same type and rank, then true. Console.WriteLine("int[2] is assignable from int[10]? {0} ", array2Type.IsAssignableFrom(array10Type)); Console.WriteLine("int[2,2] is assignable from int[2,4]? {0}", array22Type.IsAssignableFrom(array24Type)); Console.WriteLine("int[2,4] is assignable from int[2,2]? {0}", array24Type.IsAssignableFrom(array22Type)); Console.WriteLine(""); // If X and Y do not have the same rank, then false. Console.WriteLine("int[2,2] is assignable from int[10]? {0}", array22Type.IsAssignableFrom(array10Type)); Console.WriteLine("int[2,2] is assignable from int[3,3,3]? {0}", array22Type.IsAssignableFrom(array333Type)); Console.WriteLine("int[3,3,3] is assignable from int[2,2]? {0}", array333Type.IsAssignableFrom(array22Type)); } }`

  The output is

  int[2] is assignable from int? False

  int[2] is assignable from int[10]? True

  int[2,2] is assignable from int[2,4]? True

  int[2,4] is assignable from int[2,2]? True

  int[2,2] is assignable from int[10]? False

  int[2,2] is assignable from int[3,3,3]? False

  int[3,3,3] is assignable from int[2,2]? False

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Indicates whether the type attribute is selected for the current type.

  if the type attribute is selected for the current type; otherwise, .

  This property is read-only.

  If the current represents a generic type, this property applies to the definition of the type. If the current represents a type parameter of a generic type or method, this property always returns .

  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the type layout attribute is specified for the .

  if the type layout attribute is specified for the current ; otherwise, .

  This property is read-only.

  If the current instance represents a generic type, this property applies to the definition of the type. If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  The attribute specifies that the system selects the layout the objects of the type. Types marked with this attribute indicate that the system will choose the appropriate way to lay out the type; any layout information that might have been specified is ignored.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the is passed by reference.

  if the is passed by reference; otherwise, .

  This property is read-only.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean

  When overridden in a derived class, implements the property and determines whether the is passed by reference.

  if the is passed by reference; otherwise, .

  As described above.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current represents a class.

  if the current represents a class; otherwise .

  This property is read-only.

  Note that this property returns for instances representing and .

  If the current instance represents a generic type, this property returns if the generic type definition is a class definition (that is, it does not define an interface or a value type).

  If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  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.Boolean

  Reserved.

  This abstract method is required to be present for legacy implementations. Conforming implementations are permitted to throw the as their implementation.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  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.Boolean To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current represents an enumeration.

  if the current represents an enumeration; otherwise .

  This property is read-only.

  This property returns for an enumeration, but not for the type itself, which is a class.

  If the current instance represents a generic type, this property applies to the definition of the type. If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  The following example demonstrates using the property.

  `using System; public enum Color { Red, Blue, Green } class TestType { public static void Main() { Type colorType = typeof(Color); Type enumType = typeof(Enum); Console.WriteLine("Color is enum ? {0}", colorType.IsEnum); Console.WriteLine("Color is valueType? {0}", colorType.IsValueType); Console.WriteLine("Enum is enum Type? {0}", enumType.IsEnum); Console.WriteLine("Enum is value? {0}", enumType.IsValueType); } }`

  The output is

  Color is enum ? True

  Color is valueType? True

  Enum is enum Type? False

  Enum is value? False

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  4.0.0.0
  System.Boolean `` To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.Boolean `` To be added. To be added. To be added. To be added.
- Property
  System.Boolean

  Gets a value indicating whether the type layout attribute is specified for the .

  if the type layout attribute is specified for the current ; otherwise, .

  This property is read-only.

  Types marked with the attribute cause the system to ignore field sequence and to use the explicit layout rules provided, in the form of field offsets, overall class size and alignment.

  If the current instance represents a generic type, this property applies to the definition of the type. If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current type represents a type parameter of a generic type or method.

  if the current object represents a type parameter of a generic type or method; otherwise .

  This property is read-only.

  Use this property to distinguish between type parameters and type arguments. When you call to obtain the type arguments of a generic type, some elements of the array might be specific types (type arguments) and others might be type parameters. returns for the types and for the type parameters.

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  For an example of using this method, see the example for .

  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current type has type arguments, and is therefore a generic type.

  if the current type has type arguments; otherwise .

  Use this property to determine whether a object represents a generic type. Use the property to determine whether a object represents an open constructed type or a closed constructed type.

  The property returns if the immediate type is not generic.

  The following table summarizes the invariant conditions for common terms used in generic reflection.

  Term
  Invariant
  generic type definition

  The property is .

  Defines a generic type. A constructed type is created by calling the method on a object that represents a generic type definition, and specifying an array of type arguments.

  can be called only on generic type definitions.

  Any generic type definition is a generic type, but the converse is not true.

  generic type

  The property is .

  Can be a generic type definition, an open constructed type, or a closed constructed type.

  Note that an array type whose element type is generic is not itself a generic type. The same is true of a object representing a pointer to a generic type.

  open constructed type

  The property is .

  It is not possible to create an instance of an open constructed type.

  Note that not all open constructed types are generic, such as an array type whose element type is a generic type definition.

  closed constructed type

  The property is .

  When examined recursively, the type has no unassigned generic parameters. The containing type or method has no generic type parameters, and, recursively, no type arguments have unassigned generic type parameters.

  generic type parameter

  The property is .

  In a generic type definition, a placeholder for a type that will be assigned later.

  generic type argument

  Can be any type, including a generic type parameter.

  Type arguments are specified as an array of objects passed to the method when creating a constructed generic type. If instances of the resulting type are to be created, the property must be for all the type arguments.

  This property is read-only.

  For an example of using this method, see the example for .

  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current object represents the definition of a generic type, or whether one or more of its type parameters has been specified.

  if the current object represents the definition of a generic type, none of whose type parameters have been bound to specific types; otherwise .

  This property is read-only.

  Use this property to determine whether type arguments have been specified for any of the type parameters of a generic type. If type arguments have been specified (that is, bound to the corresponding type parameters), this property returns .

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  An open generic type can have type parameters even if types have been specified for its type parameters.

  For an example of using this method, see the example for .

  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the was imported from another class.

  if the was imported from another class; otherwise, .

  This property is read-only.

  If the current instance represents a generic type, this property applies to the definition of the type. If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean `` The object to compare with the current .

  Determines whether the specified object is an instance of the current .

  if either of the following statements is true; otherwise .

  If the current is in the inheritance hierarchy of .

  If the current is an interface and supports that interface.

  If is a null reference or if the current instance is an open generic type (that is, returns ) returns .

  As described above.

  A constructed type is not an instance of its generic type definition.

  As described above.

  The following example demonstrates the method.

  `using System; public interface IFoo { } public class MyClass : IFoo {} public class MyDerivedClass : MyClass {} class IsInstanceTest { public static void Main() { Type ifooType=typeof(IFoo); MyClass mc = new MyClass(); Type mcType = mc.GetType(); MyClass mdc = new MyDerivedClass(); Type mdcType = mdc.GetType(); int [] array = new int [10]; Type arrayType = typeof(Array); Console.WriteLine("int[] is instance of Array? {0}", arrayType.IsInstanceOfType(array)); Console.WriteLine("myclass instance is instance of MyClass? {0}", mcType.IsInstanceOfType(mc)); Console.WriteLine("myderivedclass instance is instance of MyClass? {0}", mcType.IsInstanceOfType(mdc)); Console.WriteLine("myclass instance is instance of IFoo? {0}", ifooType.IsInstanceOfType(mc)); Console.WriteLine("myderivedclass instance is instance of IFoo? {0}", ifooType.IsInstanceOfType(mdc)); } }`

  The output is

  int[] is instance of Array? True

  myclass instance is instance of MyClass? True

  myderivedclass instance is instance of MyClass? True

  myclass instance is instance of IFoo? True

  myderivedclass instance is instance of IFoo? True

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current represents an interface.

  if the current represents an interface; otherwise .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the type layout attribute is specified for the .

  if the type layout attribute is specified for the current ; otherwise, .

  This property is read-only.

  The attribute is used to indicate that the system is to preserve field order as emitted, but otherwise the specific offsets are calculated based on the type of the field; these might be shifted by explicit offset, padding, or alignment information.

  If the current instance represents a generic type, this property applies to the definition of the type. If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current type is marshaled by reference.

  if the is marshaled by reference; otherwise, .

  This property is read-only.

  1
  Reflection
  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
- Property
  System.Boolean To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is nested and visible only within its own assembly.

  if the is nested and visible only within its own assembly; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is nested and visible only to classes that belong to both its own family and its own assembly.

  if the is nested and visible only to classes that belong to both its own family and its own assembly; otherwise, .

  This property is read-only.

  A object's family is defined as all objects of the exact same and of its subclasses.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is nested and visible only within its own family.

  if the is nested and visible only within its own family; otherwise, .

  This property is read-only.

  A object's family is defined as all objects of the exact same and of its subclasses.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is nested and visible only to classes that belong to either its own family or to its own assembly.

  if the is nested and visible only to classes that belong to its own family or to its own assembly; otherwise, .

  This property is read-only.

  A object's family is defined as all objects of the exact same and of its subclasses.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is nested and declared private.

  if the is nested and declared private; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is a public nested class.

  if the class is nested and declared public; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the top-level is not declared public.

  if the top-level is not declared public; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current represents a pointer.

  This property is read-only.

  if the current represents a pointer; otherwise .

  This property is read-only.

  If the current instance represents a generic type, or a type parameter of a generic type or method, this property always returns .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean

  When overridden in a derived class, implements the property and determines whether the is a pointer.

  if the is a pointer; otherwise, .

  As described above.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is one of the primitive types.

  if the is one of the primitive types; otherwise, .

  This property is read-only.

  The primitive types are , , , , , , , , , , , and .

  If the current instance represents a generic type, or a type parameter of a generic type or method, this property always returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean

  When overridden in a derived class, implements the property and determines whether the is one of the primitive types.

  if the is one of the primitive types; otherwise, .

  This method returns if the underlying type of the current instance is one of the following: , , , , , , , , , , , and .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the top-level is declared public.

  if the top-level is declared public; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current is declared sealed.

  if the is declared sealed; otherwise, .

  This property is read-only.

  If the current instance represents an unassigned type parameter of a generic type, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  4.0.0.0
  System.Boolean To be added. To be added. To be added.
- Property
  4.0.0.0
  System.Boolean To be added. To be added. To be added.
- Property
  4.0.0.0
  System.Boolean To be added. To be added. To be added.
- Property
  System.Boolean Specifies if it is possible to serialize the . To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Boolean

  Gets a value indicating whether the current has a name that requires special handling.

  if the has a name that requires special handling; otherwise, .

  This property is read-only.

  Names that begin with or contain an underscore character (_) are examples of type names that might require special treatment by some tools.

  If the current instance represents a generic type, this property applies to the definition of the type. If the current instance represents an unassigned type parameter of a generic type or method, this property always returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Boolean `` The to compare with the current .

  Determines whether the current derives from the specified .

  if and the current represent classes, and the class represented by the current derives from the class represented by ; otherwise . Returns if and the current represent the same class.

  Interfaces are not considered.

  If the current instance represents an unassigned type parameter of a generic type or method, it derives from its class constraint, or from if it has no class constraint.

  The following example demonstrates the method.

  `using System; public interface IFoo { } public interface IBar:IFoo{} public class MyClass : IFoo {} public class MyDerivedClass : MyClass {} class IsSubclassTest { public static void Main() { Type ifooType = typeof(IFoo); Type ibarType = typeof(IBar); MyClass mc = new MyClass(); Type mcType = mc.GetType(); MyClass mdc = new MyDerivedClass(); Type mdcType = mdc.GetType(); int [] array = new int [10]; Type arrayOfIntsType = array.GetType(); Type arrayType = typeof(Array); Console.WriteLine("Array is subclass of int[]? {0}", arrayType.IsSubclassOf(arrayOfIntsType)); Console.WriteLine("int [] is subclass of Array? {0}", arrayOfIntsType.IsSubclassOf(arrayType)); Console.WriteLine("IFoo is subclass of IBar? {0}", ifooType.IsSubclassOf(ibarType)); Console.WriteLine("myclass is subclass of MyClass? {0}", mcType.IsSubclassOf(mcType)); Console.WriteLine("myderivedclass is subclass of MyClass? {0}", mdcType.IsSubclassOf(mcType)); Console.WriteLine("IBar is subclass of IFoo? {0}", ibarType.IsSubclassOf(ifooType)); } }`

  The output is

  Array is subclass of int[]? False

  int [] is subclass of Array? True

  IFoo is subclass of IBar? False

  myclass is subclass of MyClass? False

  myderivedclass is subclass of MyClass? True

  IBar is subclass of IFoo? False

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(true)
- Property
  System.Boolean

  Indicates whether the type attribute is selected for the current type.

  if the type attribute is selected for the current type; otherwise, .

  This property is read-only.

  If the current represents a generic type, this property applies to the definition of the type. If the current represents a type parameter of a generic type or method, this property always returns .

  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Boolean

  Gets a value that indicates whether the current represents a value type.

  if the current represents a value type (structure); otherwise .

  This property is read-only.

  This property returns true for enumerations, but not for the type itself, which is a class. For an example that demonstrates this behavior, see .

  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
- Property
  System.Boolean To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Type

  Returns a object representing a one-dimensional array type whose element type is the current type, with a lower bound of zero.

  A object representing a one-dimensional array type whose element type is the current type, with a lower bound of zero.

  This method provides a way to generate an array type with any possible element type, including generic types.

  2.0.0.0
  4.0.0.0
- Method
  System.Type `` The number of dimensions for the array.

  Returns a object representing an array of the current type, with the specified number of dimensions.

  A object representing an array of the current type, with the specified number of dimensions.

  This method provides a way to generate an array with any possible element type, including generic types.

  is invalid (being less than 1, for example).

  2.0.0.0
  4.0.0.0
- Method
  System.Type

  Returns a object that represents the current type when passed as a byref parameter.

  A object that represents the current type when passed as a byref parameter.

  This method provides a way to generate a byref type for any type.

  Using ilasm syntax, if the current object represents , this method returns a object representing .

  2.0.0.0
  4.0.0.0
- Method
  System.Type `System.ParamArray` To be added.

  Substitutes the elements of an array of types for the type parameters of the current generic type definition, and returns a object representing the resulting constructed type.

  The current type shall be a generic type definition.

  A representing the constructed type formed by substituting the elements of for the type parameters of the current generic type definition.

  This method allows you to write code that assigns specific types to the type parameters of a generic type definition, thus creating a object that represents a particular constructed type. You can use this object to create runtime instances of the constructed type.

  The object returned by this method is the same as that obtained by calling the method of the resulting constructed type, or the method of any constructed type that was created from the same generic type using the same type arguments.

  An array type whose element type is a generic type is not itself a generic type. Thus, you cannot call this method to bind an array type. To bind a type argument to this type, call to obtain the generic type, then this method to bind the type argument to the generic type, and, finally, to create the array type.

  For a list of the invariant conditions for terms used in generic reflection, see the property description.

  The number of elements in is not the same as the number of type parameters of the current generic type definition.

  -or-

  An element of does not satisfy the constraints specified for the corresponding type parameter of the current generic type definition.

  is .

  -or-

  An element of is .

  The current type does not represent the definition of a generic type. That is, returns .

  The following example uses and to create a constructed type from the generic type. The constructed type represents a of objects with string keys.

  `using System; using System.Reflection; using System.Collections.Generic; public class Test { public static void Main() { Console.WriteLine("\n--- Create a constructed type from the generic Dictionary type."); // Create a type object representing the generic Dictionary // type. Type generic = Type.GetType("System.Collections.Generic.Dictionary"); DisplayTypeInfo(generic); // Create an array of types to substitute for the type // parameters of Dictionary. The key is of type string, and // the type to be contained in the Dictionary is Test. Type[] typeArgs = { typeof(string), typeof(Test) }; Type constructed = generic.MakeGenericType(typeArgs); DisplayTypeInfo(constructed); // Compare the type objects obtained above to type objects // obtained using typeof() and GetGenericTypeDefinition(). Console.WriteLine("\n--- Compare types obtained by different methods:"); Type t = typeof(Dictionary<string, Test>); Console.WriteLine("\tAre the constructed types equal? {0}", t == constructed); Console.WriteLine("\tAre the generic types equal? {0}", t.GetGenericTypeDefinition() == generic); } private static void DisplayTypeInfo(Type t) { Console.WriteLine("\n{0}", t); Console.WriteLine("\tIs this a generic type definition? {0}", t.IsGenericTypeDefinition); Console.WriteLine("\tDoes it have generic type arguments? {0}", t.HasGenericArguments); Type[] typeArguments = t.GetGenericArguments(); Console.WriteLine("\tList type arguments ({0}):", typeArguments.Length); foreach (Type tParam in typeArguments) { Console.WriteLine("\t\t{0}", tParam); } } } /* This example produces the following output: --- Create a constructed type from the generic Dictionary type. System.Collections.Generic.Dictionary[KeyType,ValueType] Is this a generic type definition? True Does it have generic type arguments? True List type arguments (2): K V System.Collections.Generic.Dictionary[System.String, Test] Is this a generic type definition? False Does it have generic type arguments? True List type arguments (2): System.String Test --- Compare types obtained by different methods: Are the constructed types equal? True Are the generic types equal? True */` 2.0.0.0 4.0.0.0
- Method
  System.Type

  Returns a object that represents the type of an unmanaged pointer to the current type.

  A object that represents the type of an unmanaged pointer to the current type.

  This method provides a way to generate an unmanaged pointer type for types computed at runtime.

  Using ilasm syntax, if the current object represents , this method returns a object representing .

  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.MemberTypes To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Object

  Represents a missing value in the information.

  This field is read-only.

  Use the field for invocation through reflection to ensure that a call will be made with the default value of a parameter as specified in the metadata. If the field is specified for a parameter value and there is no default value for that parameter, a is thrown.

  1
  Reflection
  null
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.Module

  Gets the module in which the current is defined.

  A that reflects the module in which the current is defined.

  If the current instance represents a generic type, this property returns the module in which the type was defined.

  Similarly, if the current instance represents a generic parameter T, this property returns the assembly that contains the generic type that defines T.

  This property is read-only.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.String

  Gets the namespace of the .

  A containing the namespace of the current .

  If the current instance represents a generic type, this property returns the namespace that contains the generic type definition. Similarly, if the current instance represents a generic parameter T, this property returns the namespace that contains the generic type that defines T.

  A namespace is a logical design-time naming convenience, used mainly to define scope in an application and organize classes and other types in a hierarchical structure. From the viewpoint of the system, there are no namespaces.

  This property is read-only.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  4.0.0.0
  System.Boolean `` `` To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.Boolean `` `` To be added. To be added. To be added. To be added. To be added.
- Property
  System.Type

  Gets the type that was used to obtain the current instance.

  The object through which the current instance was obtained.

  This property is read-only.

  If the current instance represents a generic type, or a type parameter of a generic type or method, this property returns the current instance.

  The following example demonstrates the property. Although the method is declared in , its reflected type is obtained from .

  `using System; using System.Reflection; public abstract class ReflectedTypeTest { public abstract class MyClassA { public abstract int m(); } public abstract class MyClassB : MyClassA { } public static void Main(string[] args) { Console.WriteLine("Reflected type of m is {0}", typeof(MyClassB).GetMethod("m").ReflectedType); } }`

  The output is

  Reflected type of m is ReflectedTypeTest+MyClassB

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Type `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Property
  System.Runtime.InteropServices.StructLayoutAttribute To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Void `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.String

  Returns a representation of the current .

  Returns .

  This method overrides .

  If the current instance represents a generic type, the type and its type arguments are qualified by namespace and by nested type, but not by assembly. If the current instance represents an unassigned type parameter of a generic type or method, this method returns the unqualified name of the type parameter.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.RuntimeTypeHandle

  Gets the handle for the current .

  The for the current .

  This property is read-only.

  The encapsulates a pointer to an internal data structure that represents the type. This handle is unique during the process lifetime. The handle is valid only in the application domain in which it was obtained.

  1
  RuntimeInfrastructure
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Reflection.ConstructorInfo

  Gets the initializer for thetype represented by the current instance.

  A containing the name of the static constructor for the type represented by the current instance

  This property is read-only.

  Type initializers are available through , , and .

  If the current instance represents an unassigned type parameter of a generic type or method, this property returns .

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(true)
- Property
  System.Type

  Returns the system-supplied type that represents the current type.

  The underlying system type for the .

  This property is read-only.

  As described above.

  1
  Reflection
  1.0.5000.0
  2.0.0.0
  4.0.0.0
0