System [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.3300.0 1.0.5000.0 2.0.0.0 4.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.CodeDom.CodeObject System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch) System.Runtime.InteropServices.ComVisible(true)

A object is used to represent a type for CodeDOM objects. When CodeDOM types have a Type property, it is of type . For example, the property is a that represents a field's data type.

A can be initialized with a object or a string. It is generally recommended to use a to do this, although it may not always be possible. If initializing an instance of this class with a string, it is strongly recommended to always use fully qualified types, such as "System.Console" instead of just "Console", because not all languages support importing namespaces. Array types can be specified by either passing in a type object for an array or using one of the constructors that accept rank as a parameter.

The property specifies the name of the type to reference. For references to array types, the property indicates the type of the elements of the array, and the property indicates the number of dimensions in the array.

Represents a reference to a type.

- Constructor
  2.0.0.0
  4.0.0.0

  This constructor creates an empty object. If you use this constructor, set properties to establish the type reference.

  Initializes a new instance of the class.

- Constructor
  2.0.0.0
  4.0.0.0
  To be added.

  Initializes a new instance of the class using the specified code type parameter.

  A that represents the type of the type parameter.
- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.MonoTODO("We should parse basetype from right to left in 2.0 profile.")
  To be added: an object of type 'string'

  If the parameter references a generic type, it must follow the syntax conventions for generic types. For example, the reflection signature for a type, where is a string and is a of integers, is represented by reflection as the following (with the assembly information removed): System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]].

  You must use square brackets ([]) and not the C# angle brackets (<>) to delimit generic parameters.

  To avoid the possibility of making a mistake in specifying the syntax, consider using the constructor that takes a type as a parameter instead of a string.

  Initializes a new instance of the class using the specified type name.

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.MonoTODO("We should parse basetype from right to left in 2.0 profile.")
  To be added: an object of type 'Type'
  To be added

  Initializes a new instance of the class using the specified type.

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  To be added.
  To be added.

  This constructor can be used to construct arrays of arrays by nesting objects.

  Initializes a new instance of the class using the specified array type and rank.

- Constructor
  2.0.0.0
  4.0.0.0
  System.ParamArray
  To be added.

  Initializes a new instance of the class using the specified type name and type arguments.

  The name of the type to reference.
  An array of values.
- Constructor
  2.0.0.0
  4.0.0.0
  To be added.
  To be added.

  Initializes a new instance of the class using the specified type name and code type reference option.

  The name of the type to reference.
- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.MonoTODO("We should parse basetype from right to left in 2.0 profile.")
  To be added.
  To be added

  Initializes a new instance of the class using the specified array type name and rank.

  The name of the type of the elements of the array.
- Constructor
  2.0.0.0
  4.0.0.0
  To be added.
  To be added.

  Initializes a new instance of the class using the specified type and code type reference.

  The to reference.
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.CodeDom.CodeTypeReference To be added: an object of type 'CodeTypeReference'

  This is disregarded unless the property is greater than or equal to 1.

  Gets or sets the type of the elements in the array.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Int32 To be added: an object of type 'int' To be added

  Gets or sets the array rank of the array.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.String To be added: an object of type 'string'

  This property contains the name of the type unless it is an array type, in which case it is the array element type.

  The name of the property may be misleading. This property contains just the type name with any array adornments or generic type arguments removed, not the base or parent type as might be expected. For example, the value for System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]] is System.Collections.Generic.Dictionary`2.

  ## Representation of Generic Types

  The information in this section is intended for CodeDom provider developers and only applies to CLS-compliant languages. The return value can contain generic types. Generic types are formatted with the name of the type followed by a grave accent ("`") followed by a count of the generic type arguments. The generic type arguments can be found in the returned by the property. The values returned by and the associated contain the same content as the value of the type returned by reflection.

  For example, a constructed where is a string and is a constructed of integers is represented by reflection as the following (with the assembly information removed):

  `System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]`

  Recursively parsing the property from the for yields the same strings as the reflection representation above:

  The property for the parent returns the following:

  `System.Collections.Generic.Dictionary`2`

  The property for the first object in the collection returns the following:

  `System.String`

  The property for the second object in the collection returns the following:

  `System.Collections.Generic.List`1`

  The property in the object for System.Collections.Generic.List`1 returns the following:

  `System.Int32`

  The type argument count should be used when parsing the associated values. The common practice is to remove the type argument count from the generated code, but the practice is compiler specific. It is important to note that the type argument count can be found within a nested type name, in which case it is followed by a plus sign ("+").

  When creating a generic , the recommended practice is to specify the type arguments as objects or use the constructor that takes a . Use of the constructor that creates a from a string can lead to undiscoverable type-argument errors.

  Gets or sets the name of the type being referenced.

- Property
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(false)
  System.CodeDom.CodeTypeReferenceOptions To be added. To be added.

  Gets or sets the code type reference option.

- Property
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(false)
  System.CodeDom.CodeTypeReferenceCollection To be added.

  The property is a collection of type references to be substituted for the type parameter references of the current generic type. The collection contains all the type arguments for all nested types. For an example, see the property.

  Gets the type arguments for the current generic type reference.