1 <h2>Class Operations
</h2>
3 <p>The operations on
<code>MonoClass*
</code> allow you to
4 query a number of properties of a .NET class from the C API.
6 <p>This page contains information
7 for
<a href=
"#class-getting">how to obtain a MonoClass*
</a>,
8 how to
<a href=
"#class-work">probe for different
9 features of a MonoClass*
</a> and APIs
10 to
<a href=
"#class-members">access class members
</a> and
11 <a href=
"#class-fields">access fields
</a>. To access
12 methods, see the
<a href=
"mono-api-methods.html">method
13 documentation API
</a>.
15 <a name=
"class-getting"></a>
16 <h3>Getting a MonoClass
</h3>
18 <p>You typically would obtain a
<code>MonoClass*
</code>
19 pointer by using a combination of the
<code>MonoImage*
</code>
20 where the type is located, the namespace and name using the
21 <code><a href=
"api:mono_class_from_name">mono_class_from_name
</a></code>
23 the
<code><a href=
"api:mono_class_from_name_case">mono_class_from_name_case
</a></code>
25 the
<code><a href=
"api:mono_class_from_typeref">mono_class_from_typeref
</a></code>
26 or
<code><a href=
"api:mono_class_from_typeref">mono_class_from_typeref_checked
</a></code>
29 <p>For low-level access, you can get the
<code>MonoClass
30 *
</code> from an image and an ECMA type token relative to
31 the
<code>MonoImage*
</code> by using
<a href=
"api:mono_class_get">mono_class_get
</a>.
34 <h4><a name=
"api:mono_class_get">mono_class_get
</a></h4>
35 <h4><a name=
"api:mono_class_from_mono_type">mono_class_from_mono_type
</a></h4>
36 <h4><a name=
"api:mono_class_from_name">mono_class_from_name
</a></h4>
37 <h4><a name=
"api:mono_class_from_name_case">mono_class_from_name_case
</a></h4>
38 <h4><a name=
"api:mono_class_from_typeref">mono_class_from_typeref
</a></h4>
39 <h4><a name=
"api:mono_class_from_typeref_checked">mono_class_from_typeref_checked
</a></h4>
40 <h4><a name=
"api:mono_class_from_generic_parameter">mono_class_from_generic_parameter
</a></h4>
42 <h3>Working with a MonoClass
</h3>
44 <h4><a name=
"api:mono_class_array_element_size">mono_class_array_element_size
</a></h4>
45 <h4><a name=
"api:mono_class_data_size">mono_class_data_size
</a></h4>
46 <h4><a name=
"api:mono_class_enum_basetype">mono_class_enum_basetype
</a></h4>
47 <h4><a name=
"api:mono_class_get_byref_type">mono_class_get_byref_type
</a></h4>
48 <h4><a name=
"api:mono_class_get_element_class">mono_class_get_element_class
</a></h4>
49 <h4><a name=
"api:mono_class_get_event_token">mono_class_get_event_token
</a></h4>
50 <h4><a name=
"api:mono_class_get_field">mono_class_get_field
</a></h4>
51 <h4><a name=
"api:mono_class_get_field_token">mono_class_get_field_token
</a></h4>
52 <h4><a name=
"api:mono_class_get_flags">mono_class_get_flags
</a></h4>
53 <h4><a name=
"api:mono_class_get_full">mono_class_get_full
</a></h4>
54 <h4><a name=
"api:mono_class_get_image">mono_class_get_image
</a></h4>
55 <h4><a name=
"api:mono_class_get_interfaces">mono_class_get_interfaces
</a></h4>
56 <h4><a name=
"api:mono_class_get_name">mono_class_get_name
</a></h4>
57 <h4><a name=
"api:mono_class_get_namespace">mono_class_get_namespace
</a></h4>
58 <h4><a name=
"api:mono_class_get_nesting_type">mono_class_get_nesting_type
</a></h4>
59 <h4><a name=
"api:mono_class_get_parent">mono_class_get_parent
</a></h4>
60 <h4><a name=
"api:mono_class_get_property_token">mono_class_get_property_token
</a></h4>
61 <h4><a name=
"api:mono_class_get_rank">mono_class_get_rank
</a></h4>
62 <h4><a name=
"api:mono_class_get_type">mono_class_get_type
</a></h4>
63 <h4><a name=
"api:mono_class_get_type_token">mono_class_get_type_token
</a></h4>
64 <h4><a name=
"api:mono_class_implements_interface">mono_class_implements_interface
</a></h4>
65 <h4><a name=
"api:mono_class_inflate_generic_method">mono_class_inflate_generic_method
</a></h4>
66 <h4><a name=
"api:mono_class_inflate_generic_type">mono_class_inflate_generic_type
</a></h4>
67 <h4><a name=
"api:mono_class_init">mono_class_init
</a></h4>
68 <h4><a name=
"api:mono_class_instance_size">mono_class_instance_size
</a></h4>
69 <h4><a name=
"api:mono_class_is_assignable_from">mono_class_is_assignable_from
</a></h4>
70 <h4><a name=
"api:mono_class_is_delegate">mono_class_is_delegate
</a></h4>
71 <h4><a name=
"api:mono_class_is_enum">mono_class_is_enum
</a></h4>
72 <h4><a name=
"api:mono_class_is_subclass_of">mono_class_is_subclass_of
</a></h4>
73 <h4><a name=
"api:mono_class_is_valuetype">mono_class_is_valuetype
</a></h4>
74 <h4><a name=
"api:mono_class_min_align">mono_class_min_align
</a></h4>
75 <h4><a name=
"api:mono_class_name_from_token">mono_class_name_from_token
</a></h4>
76 <h4><a name=
"api:mono_class_num_events">mono_class_num_events
</a></h4>
77 <h4><a name=
"api:mono_class_num_fields">mono_class_num_fields
</a></h4>
78 <h4><a name=
"api:mono_class_num_methods">mono_class_num_methods
</a></h4>
79 <h4><a name=
"api:mono_class_num_properties">mono_class_num_properties
</a></h4>
80 <h4><a name=
"api:mono_class_value_size">mono_class_value_size
</a></h4>
81 <h4><a name=
"api:mono_class_vtable">mono_class_vtable
</a></h4>
83 <a name=
"class-members"></a>
84 <h3>Getting Class Members
</h3>
86 <h4><a name=
"api:mono_class_get_fields">mono_class_get_fields
</a></h4>
87 <h4><a name=
"api:mono_class_get_field_from_name">mono_class_get_field_from_name
</a></h4>
88 <h4><a name=
"api:mono_class_get_methods">mono_class_get_methods
</a></h4>
89 <h4><a name=
"api:mono_class_get_method_from_name">mono_class_get_method_from_name
</a></h4>
90 <h4><a name=
"api:mono_class_get_method_from_name_flags">mono_class_get_method_from_name_flags
</a></h4>
91 <h4><a name=
"api:mono_class_get_nested_types">mono_class_get_nested_types
</a></h4>
92 <h4><a name=
"api:mono_class_get_properties">mono_class_get_properties
</a></h4>
93 <h4><a name=
"api:mono_class_get_property_from_name">mono_class_get_property_from_name
</a></h4>
94 <h4><a name=
"api:mono_class_get_events">mono_class_get_events
</a></h4>
96 <a name=
"class-fields"></a>
99 <h4><a name=
"api:mono_field_get_data">mono_field_get_data
</a></h4>
100 <h4><a name=
"api:mono_field_get_offset">mono_field_get_offset
</a></h4>
101 <h4><a name=
"api:mono_field_full_name">mono_field_full_name
</a></h4>
103 <h3>Method Accessibility
</h3>
105 <h4><a name=
"api:mono_method_can_access_field">mono_method_can_access_field
</a></h4>
106 <h4><a name=
"api:mono_method_can_access_method">mono_method_can_access_method
</a></h4>