## Class Operations

The operations on `MonoClass*` allow you to query a number of properties of a .NET class from the C API.

This page contains information for how to obtain a MonoClass*, how to probe for different features of a MonoClass* and APIs to access class members and access fields. To access methods, see the method documentation API.

### Getting a MonoClass

You typically would obtain a `MonoClass*` pointer by using a combination of the `MonoImage*` where the type is located, the namespace and name using the `mono_class_from_name` or the `mono_class_from_name_case` APIs or by using the `mono_class_from_typeref` or `mono_class_from_typeref_checked` methods.

For low-level access, you can get the `MonoClass *` from an image and an ECMA type token relative to the `MonoImage*` by using mono_class_get.

#### mono_class_get

#### mono_class_from_mono_type

#### mono_class_from_name

#### mono_class_from_name_case

#### mono_class_from_typeref

#### mono_class_from_typeref_checked

#### mono_class_from_generic_parameter

### Working with a MonoClass

#### mono_class_array_element_size

#### mono_class_data_size

#### mono_class_enum_basetype

#### mono_class_get_byref_type

#### mono_class_get_element_class

#### mono_class_get_event_token

#### mono_class_get_field

#### mono_class_get_field_token

#### mono_class_get_flags

#### mono_class_get_full

#### mono_class_get_image

#### mono_class_get_interfaces

#### mono_class_get_name

#### mono_class_get_namespace

#### mono_class_get_nesting_type

#### mono_class_get_parent

#### mono_class_get_property_token

#### mono_class_get_rank

#### mono_class_get_type

#### mono_class_get_type_token

#### mono_class_implements_interface

#### mono_class_inflate_generic_method

#### mono_class_inflate_generic_type

#### mono_class_init

#### mono_class_instance_size

#### mono_class_is_assignable_from

#### mono_class_is_delegate

#### mono_class_is_enum

#### mono_class_is_subclass_of

#### mono_class_is_valuetype

#### mono_class_min_align

#### mono_class_name_from_token

#### mono_class_num_events

#### mono_class_num_fields

#### mono_class_num_methods

#### mono_class_num_properties

#### mono_class_value_size

#### mono_class_vtable

### Getting Class Members

#### mono_class_get_fields

#### mono_class_get_field_from_name

#### mono_class_get_methods

#### mono_class_get_method_from_name

#### mono_class_get_method_from_name_flags

#### mono_class_get_nested_types

#### mono_class_get_properties

#### mono_class_get_property_from_name

#### mono_class_get_events

### Fields

#### mono_field_get_data

#### mono_field_get_offset

#### mono_field_full_name

### Method Accessibility

#### mono_method_can_access_field

#### mono_method_can_access_method