单声道嵌入:如何在 C/C++ 中访问属性的类型

Mono embedding: How to access type of a property in C/C++

本文关键字:C++ 访问 类型 属性 声道 单声道      更新时间:2023-10-16

我正在嵌入 Mono 以将其用于我的应用程序中的脚本编写。我想访问属性。为了确保我的应用程序期望的类型等同于某些属性的类型,我需要检查属性的类型。

我的问题是,我没有找到访问该属性类型的方法。

对于字段,只有一个函数,即 mono_field_get_type 。我知道如何获取属性的 getter-/setter-method的签名,但我找不到任何函数来访问,例如 getter-method的返回类型。

你能告诉我如何检索属性的类型吗?

对于那些喜欢看一些代码的人:

MonoType* MonoScriptPropertyVariableSource::getType(MonoObject* instance, MonoProperty* prop)
{
    // MonoMethod* method = mono_property_get_get_method(prop);
    // MonoMethodSignature* sig = mono_method_get_signature(method, 0, 0);
    // and now? ...
    return ...
}

return mono_signature_get_return_type (sig);

MonoSignature的其他访问器位于metadata.h中。