mono::object CScriptClass::GetFieldValue(mono::object object, const char *fieldName, bool throwOnFail) { MonoClassField *pField = GetMonoField(fieldName); if(pField) { CScriptDomain *pDomain = static_cast<CScriptDomain *>(GetAssembly()->GetDomain()); MonoObject *fieldValue = mono_field_get_value_object(pDomain->GetMonoDomain(), pField, (MonoObject *)object); if(fieldValue) return (mono::object)fieldValue; } else if(throwOnFail) GetMonoScriptSystem()->GetCorlibAssembly()->GetException("System", "MissingFieldException", "Failed to locate field %s in class %s", fieldName, GetName())->Throw(); return nullptr; }
MonoObject* MonoField::getValueBoxed(MonoObject* instance) { return mono_field_get_value_object(MonoManager::instance().getDomain(), mField, instance); }
MonoObject *GDMonoField::get_value(MonoObject *p_object) { return mono_field_get_value_object(mono_domain_get(), mono_field, p_object); }