## Fetching Types, and Basic Reflection

`mono_custom_attrs_get_attr`
Syntax
mono_custom_attrs_get_attr

`mono_reflection_assembly_get_assembly`
Syntax
MonoAssembly* mono_reflection_assembly_get_assembly (MonoReflectionAssembly *refassembly)

Parameters

refassembly | the System.Reflection.Assembly object

Description

Returns the MonoAssembly* associated with the C# System.Reflection.Assembly object refassembly.
`mono_reflection_free_type_info`
Syntax
mono_reflection_free_type_info

`mono_reflection_get_custom_attrs_blob`
Syntax
MonoArray* mono_reflection_get_custom_attrs_blob (MonoReflectionAssembly *assembly, MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *propValues, MonoArray *fields, MonoArray* fieldValues)

Parameters

ctor | custom attribute constructor
ctorArgs | arguments o the constructor
properties |
propValues |
fields |
fieldValues |

Return value
a Byte array representing the blob of data.
Description

Creates the blob of data that needs to be saved in the metadata and that represents the custom attributed described by ctor, ctorArgs etc.
`mono_reflection_get_custom_attrs_by_type`
Syntax
mono_reflection_get_custom_attrs_by_type

`mono_reflection_get_custom_attrs_data`
Syntax
mono_reflection_get_custom_attrs_data

`mono_reflection_get_custom_attrs`
Syntax
mono_reflection_get_custom_attrs

`mono_reflection_get_token`
Syntax
mono_reflection_get_token

`mono_reflection_get_type`
Syntax
mono_reflection_get_type

`mono_reflection_parse_type`
Syntax
mono_reflection_parse_type

`mono_reflection_type_get_type`
Syntax
MonoType* mono_reflection_type_get_type (MonoReflectionType *reftype)

Parameters

reftype | the System.Type object

Description

Returns the MonoType* associated with the C# System.Type object reftype.
`mono_reflection_type_from_name`
Syntax
mono_reflection_type_from_name

`mono_reflection_get_custom_attrs_info`
Syntax
mono_reflection_get_custom_attrs_info

## Custom Attributes

`mono_custom_attrs_construct`
Syntax
mono_custom_attrs_construct

`mono_custom_attrs_free`
Syntax
mono_custom_attrs_free

`mono_custom_attrs_from_assembly`
Syntax
mono_custom_attrs_from_assembly

`mono_custom_attrs_from_class`
Syntax
mono_custom_attrs_from_class

`mono_custom_attrs_from_event`
Syntax
mono_custom_attrs_from_event

`mono_custom_attrs_from_field`
Syntax
mono_custom_attrs_from_field

`mono_custom_attrs_from_index`
Syntax
MonoCustomAttrInfo* mono_custom_attrs_from_index (MonoImage *image, guint32 idx)

Return value
`NULL` if no attributes are found or if a loading error occurs.
Description

`mono_custom_attrs_from_method`
Syntax
mono_custom_attrs_from_method

`mono_custom_attrs_from_param`
Syntax
MonoCustomAttrInfo* mono_custom_attrs_from_param (MonoMethod *method, guint32 param)

Parameters

method | handle to the method that we want to retrieve custom parameter information from
param | parameter number, where zero represent the return value, and one is the first parameter in the method

Return value
the custom attribute object for the specified parameter, or `NULL` if there are none.
Description

The result must be released with mono_custom_attrs_free().

`mono_custom_attrs_from_property`
Syntax
mono_custom_attrs_from_property

`mono_custom_attrs_has_attr`
Syntax
mono_custom_attrs_has_attr

##

`mono_module_file_get_object`
Syntax
mono_module_file_get_object

`mono_module_get_object`
Syntax
mono_module_get_object

`mono_method_body_get_object`
Syntax
mono_method_body_get_object

`mono_event_get_object`
Syntax
mono_event_get_object

`mono_assembly_get_object`
Syntax
mono_assembly_get_object

`mono_param_get_objects`
Syntax
mono_param_get_objects

`mono_field_get_object`
Syntax
mono_field_get_object

`mono_property_get_object`
Syntax
MonoReflectionProperty* mono_property_get_object_checked (MonoDomain *domain, MonoClass *klass, MonoProperty *property, MonoError *error)

Parameters

domain | an app domain
klass | a type
property | a property
error | set on error

Description

Return an System.Reflection.MonoProperty object representing the property property in class klass. On error returns `NULL` and sets error.