There are two ways, you can do it from managed land directly: Type t = ...; return t.TypeHandle.Value;
This will give you a MonoType* (which is easy to convert to a MonoClass*). The other option is pretty shitty, due to a silly limitation in mono's embedding API. What you do is fetch the _impl field using mono_field_get_value MonoType *type; mono_field_get_value (obj, _impl_field, &type); On Tue, Dec 13, 2011 at 12:50 AM, Jonathan Shore <jonathan.sh...@gmail.com>wrote: > I have a method call that returns System.Type. I want to make use of the > type and do some reflection from C++. Have code like this: > > MonoClass* klass = (MonoClass*)mono_runtime_invoke (...); > > I am pretty sure that the casting to MonoClass* is not appropriate. The > mono_runtime_invoke() function returns aMonoObject*. How do I coerce the > MonoObject* containing a reference to Type to MonoClass*. I want to be > able to be able to call: > > mono_class_get_properties (type, &iter) > > iteratively, later. > > FYI: I posted this on stackoverflow @ > http://stackoverflow.com/questions/8483406/coercing-monoobject-to-monoclass-where-a-method-call-returns-a-typeif > anyone cares to answer. > Thanks > > Jonathan > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > >
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list