Hello,<div><br></div><div>I am working on embedding Mono and I am stuck with the following issue: I would like to get a MonoClass or a MonoType instance from a MonoReflectionType instance.</div><div><br></div><div>So, imagine I have an internal call with the following signature:</div>

<div><br></div><div><div>[MethodImplAttribute(MethodImplOptions.InternalCall)]</div><div>public static extern String GetName(Type type);</div><div><br></div><div>Then, the implementation should look like:</div><div><br></div>

<div><div>MonoString *ves_icall_XXX_ GetName(MonoReflectionType *type) {</div><div>    MonoType *theType = mono_XXX(type); // &lt;-- Don&#39;t seem to exist in the embedding API</div><div>    // xor</div><div>    MonoClass *theClass = mono_YYY(type); // &lt;-- Don&#39;t seem to exist in the embedding API</div>

<div><br></div><div><div>    const char *name = mono_type_get_name(theType);</div><div>    // xor</div><div><div>    const char *name = mono_class_get_name(theClass);</div><div><br></div></div></div><div>    return mono_string_new(mono_domain_get(), name);</div>

<div>}</div><div><br></div><div>I have taken a look to the Marshal internal calls, but they access directly the MonoReflectionType structure.</div><div><br></div><div>Is there any public API to get a MonoClass or a MonoType instance from a MonoReflectionType instance ?</div>

</div></div><div><br></div><div>Regards, Laurent Etiemble.</div><div><br></div>