我正在使用从 C# 调用 C 的 InteralCall 方法,类似于此处给出的示例,但我传入了一个 Type 对象。
class Hello {
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern static void Sample (Type t);
}
所以在我的 C 代码中,我通常使用 MonoObject 来接收 C# 对象。我想将其转换或转换为 MonoClass* 或 MonoType*,以便稍后开始调用 mono_object_new() 并创建许多对象。当然,如果我使用 mono_object_get_class 我会得到实际 Type 类的类。我需要将 C# 的类型转换为 MonoClass* 的东西。
static void Sample (MonoObject* t)
{
// I want to convert the MonoObject* argument to a MonoClass*
}
我的代码涉及更多,但这说明了我正在尝试做的事情。我可以创建一个虚拟对象并传递它,然后使用 mono_object_get_class() 获取类,但我很好奇是否可以使用 Type.
谢谢!