<tableclass="mapi-parameters"><tbody><tr><td><i>image</i></td><td> image where the class token will be looked up.</td></tr><tr><td><i>type_token</i></td><td> a type token from the image</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> the <code>MonoClass</code> with the given <i>type_token</i> on the <i>image</i>
<tableclass="mapi-parameters"><tbody><tr><td><i>type</i></td><td> describes the type to return</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>MonoClass</code> for the specified <code>MonoType</code>, the value is never <code>NULL</code>.
<tableclass="mapi-parameters"><tbody><tr><td><i>image</i></td><td> The <code>MonoImage</code> where the type is looked up in</td></tr><tr><td><i>name_space</i></td><td> the type namespace</td></tr><tr><td><i>name</i></td><td> the type short name.</td></tr></tbody></table><divclass="mapi-section">Description</div>
<div><p/> Obtains a <code>MonoClass</code> with a given namespace and a given name which is located in the given <code>MonoImage</code>. <p/> To reference nested classes, use the "/" character as a separator. For example use <code>"Foo/Bar"</code> to reference the class <code>Bar</code> that is nested inside <code>Foo</code>, like this: "class Foo { class Bar {} }".</div>
<divclass="mapi-entry mapi-strike"><code>mono_class_from_name_case</code></div><br/><divclass='mapi-deprecated'><b>Deprecated:</b> use the mono_class_from_name_case_checked variant instead.</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>image</i></td><td> The MonoImage where the type is looked up in</td></tr><tr><td><i>name_space</i></td><td> the type namespace</td></tr><tr><td><i>name</i></td><td> the type short name.</td></tr></tbody></table><divclass="mapi-section">Description</div>
<div><p/> Obtains a <code>MonoClass</code> with a given namespace and a given name which is located in the given <code>MonoImage</code>. The namespace and name lookups are case insensitive.</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>image</i></td><td> a MonoImage</td></tr><tr><td><i>type_token</i></td><td> a TypeRef token</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The <code>MonoClass*</code> representing the typeref token, or <code>NULL</code> if it could
<tableclass="mapi-parameters"><tbody><tr><td><i>image</i></td><td> a MonoImage</td></tr><tr><td><i>type_token</i></td><td> a TypeRef token</td></tr><tr><td><i>error</i></td><td> error return code, if any.</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The <code>MonoClass*</code> representing the typeref token, <code>NULL</code> if it could
<tableclass="mapi-parameters"><tbody><tr><td><i>param</i></td><td> Parameter to find/construct a class for.</td></tr><tr><td><i>arg2</i></td><td> Is ignored.</td></tr><tr><td><i>arg3</i></td><td> Is ignored.</td></tr></tbody></table></div><!--mapi-description -->
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The underlying type representation for an enumeration.
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Description</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>class</i></td><td> the class to lookup the field.</td></tr><tr><td><i>field_token</i></td><td> the field token</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> A <code>MonoClassField</code> representing the type and offset of
<tableclass="mapi-parameters"><tbody><tr><td><i>field</i></td><td> the field we need the token of</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The token representing the field in the image it was loaded from.
<div><p/> Get the token of a field. Note that the tokesn is only valid for the image the field was loaded from. Don't use this function for fields in dynamic types. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the MonoClass to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> the <code>TypeAttributes</code> flags of <i>klass</i>.
See the <code>TYPE_ATTRIBUTE_*</code> definitions in <code>tabledefs.h</code> for the different values.</div>
<divclass="mapi-entry mapi-strike"><code>mono_class_get_full</code></div><br/><divclass='mapi-deprecated'><b>Deprecated:</b> Functions that expose <code>MonoGenericContext</code> are going away in mono 4.0</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>image</i></td><td> the image where the class resides</td></tr><tr><td><i>type_token</i></td><td> the token for the class</td></tr><tr><td><i>context</i></td><td> the generic context used to evaluate generic instantiations in</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The <code>MonoClass</code> that represents <i>type_token</i> in <i>image</i>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>MonoClass*</code> on each invocation, or <code>NULL</code> when no more are available.
<div><p/> This routine is an iterator routine for retrieving the interfaces implemented by this class. <p/> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The container type where this type is nested or <code>NULL</code> if this type is not a nested type.
<div><p/> Use this function to obtain the class that the provided <code>MonoClass*</code> is nested on. <p/> If the return is <code>NULL</code>, this indicates that this class is not nested. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>prop</i></td><td> MonoProperty to query</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the MonoClass to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The rank for the array (the number of dimensions).
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> The MonoClass to act on</td></tr><tr><td><i>interface</i></td><td> The interface to check if <i>klass</i> implements.</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if <i>klass</i> implements <i>interface</i>.
<tableclass="mapi-parameters"><tbody><tr><td><i>method</i></td><td> a generic method</td></tr><tr><td><i>context</i></td><td> a generics context</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The new instantiated method
</div>
<divclass="mapi-section">Description</div>
<div><p/> Instantiate the generic method <i>method</i> using the generics context <i>context</i>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>type</i></td><td> a type</td></tr><tr><td><i>context</i></td><td> a generics context</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The instantiated type or a copy of <i>type</i>. The returned <code>MonoType</code> is allocated
on the heap and is owned by the caller. Returns <code>NULL</code> on error.</div>
<divclass="mapi-section">Description</div>
<div><p/> If <i>type</i> is a generic type and <i>context</i> is not <code>NULL</code>, instantiate it using the generics context <i>context</i>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the class to initialize</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> on success or <code>FALSE</code> if there was a problem in loading
the type (incorrect assemblies, missing assemblies, methods, etc).</div>
<divclass="mapi-section">Description</div>
<div><p/> Compute the <code>instance_size</code>, <code>class_size</code> and other infos that cannot be computed at <code>mono_class_get</code> time. Also compute vtable_size if possible. Initializes the following fields in <i>klass</i>: - all the fields initialized by <code>mono_class_init_sizes</code> - has_cctor - ghcimpl - inited <p/> LOCKING: Acquires the loader lock. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the class to be assigned to</td></tr><tr><td><i>oklass</i></td><td> the source class</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if an instance of class <i>oklass</i> can be assigned to an
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if the <code>MonoClass</code> represents a <code>System.Delegate</code>.
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if the <code>MonoClass</code> represents an enumeration.
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> class to probe if it is a subclass of another one</td></tr><tr><td><i>klassc</i></td><td> the class we suspect is the base class</td></tr><tr><td><i>check_interfaces</i></td><td> whether we should perform interface checks</td></tr></tbody></table><divclass="mapi-section">Description</div>
<div><p/> This method determines whether <i>klass</i> is a subclass of <i>klassc</i>. <p/> If the <i>check_interfaces</i> flag is set, then if <i>klassc</i> is an interface this method return <code>TRUE</code> if the <i>klass</i> implements the interface or if <i>klass</i> is an interface, if one of its base classes is <i>klass</i>. <p/> If <i>check_interfaces</i> is false, then if <i>klass</i> is not an interface, it returns <code>TRUE</code> if the <i>klass</i> is a subclass of <i>klassc</i>. <p/> if <i>klass</i> is an interface and <i>klassc</i> is <code>System.Object</code>, then this function returns <code>TRUE</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if the <code>MonoClass</code> represents a <code>ValueType</code>, <code>FALSE</code> if it represents a reference type.
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The number of static and instance fields in the class.
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> the application domain</td></tr><tr><td><i>class</i></td><td> the class to initialize</td></tr></tbody></table><divclass="mapi-section">Description</div>
<div> VTables are domain specific because we create domain specific code, and they contain the domain specific static class data. On failure, <code>NULL</code> is returned, and <code>class->exception_type</code> is set.</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>MonoClassField*</code> on each iteration, or <code>NULL</code> when no more fields are available.
<div><p/> This routine is an iterator routine for retrieving the fields in a class. <p/> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the class to lookup the field.</td></tr><tr><td><i>name</i></td><td> the field name</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> The <code>MonoClassField</code> pointer of the named field or <code>NULL</code>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>MonoMethod</code> on each iteration or <code>NULL</code> when no more methods are available.
<div><p/> This routine is an iterator routine for retrieving the fields in a class. <p/> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> where to look for the method</td></tr><tr><td><i>name</i></td><td> name of the method</td></tr><tr><td><i>param_count</i></td><td> number of parameters. -1 for any number.</td></tr></tbody></table><divclass="mapi-section">Description</div>
<div><p/> Obtains a <code>MonoMethod</code> with a given name and number of parameters. It only works if there are no multiple signatures for any given method name.</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> where to look for the method</td></tr><tr><td><i>name_space</i></td><td> name of the method</td></tr><tr><td><i>param_count</i></td><td> number of parameters. -1 for any number.</td></tr><tr><td><i>flags</i></td><td> flags which must be set in the method</td></tr></tbody></table><divclass="mapi-section">Description</div>
<div><p/> Obtains a <code>MonoMethod</code> with a given name and number of parameters. It only works if there are no multiple signatures for any given method name.</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>Monoclass*</code> on each invocation, or <code>NULL</code> when no more are available.
<div><p/> This routine is an iterator routine for retrieving the nested types of a class. This works only if <i>klass</i> is non-generic, or a generic type definition. <p/> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>MonoProperty*</code> on each invocation, or <code>NULL</code> when no more are available.
<div><p/> This routine is an iterator routine for retrieving the properties in a class. <p/> You must pass a gpointer that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> a class</td></tr><tr><td><i>name</i></td><td> name of the property to lookup in the specified class</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> the <code>MonoProperty</code> with the given name, or <code>NULL</code> if the property
<tableclass="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> a <code>MonoEvent*</code> on each invocation, or <code>NULL</code> when no more are available.
<div><p/> This routine is an iterator routine for retrieving the properties in a class. <p/> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p/></div>
<tableclass="mapi-parameters"><tbody><tr><td><i>field</i></td><td> the <code>MonoClassField</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> A pointer to the metadata constant value or to the field
<tableclass="mapi-parameters"><tbody><tr><td><i>field</i></td><td> the <code>MonoClassField</code> to act on</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<tableclass="mapi-parameters"><tbody><tr><td><i>field</i></td><td> field to retrieve information for</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div> the full name for the field, made up of the namespace, type name and the field name.
<tableclass="mapi-parameters"><tbody><tr><td><i>method</i></td><td> Method that will attempt to access the field</td></tr><tr><td><i>field</i></td><td> the field to access</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if the given <i>method</i> is allowed to access the <i>field</i> while following
<tableclass="mapi-parameters"><tbody><tr><td><i>method</i></td><td> Method that will attempt to access the other method</td></tr><tr><td><i>called</i></td><td> the method that we want to probe for accessibility.</td></tr></tbody></table><divclass="mapi-section">Return value</div>
<div><code>TRUE</code> if the given <i>method</i> is allowed to invoke the <i>called</i> while following