BsMonoProperty.h 645 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "BsMonoPrerequisites.h"
  3. #include <mono/jit/jit.h>
  4. namespace BansheeEngine
  5. {
  6. class BS_MONO_EXPORT MonoProperty
  7. {
  8. public:
  9. MonoObject* get(MonoObject* instance) const;
  10. void set(MonoObject* instance, void* value) const;
  11. MonoObject* getIndexed(MonoObject* instance, void* index) const;
  12. void setIndexed(MonoObject* instance, void* index, void* value) const;
  13. MonoClass* getReturnType();
  14. private:
  15. friend class MonoClass;
  16. MonoProperty(::MonoProperty* monoProp);
  17. ::MonoProperty* mProperty;
  18. ::MonoMethod* mGetMethod;
  19. ::MonoMethod* mSetMethod;
  20. MonoClass* mGetReturnType;
  21. };
  22. }