class ManagedMemberInfo

Contains data about a single member (field or property) in a managed object (class or struct).

Public

Constructors

ManagedMemberInfo

ManagedMemberInfo() = default

Methods

~ManagedMemberInfo

virtual ~ManagedMemberInfo() noexcept = default

IsSerializable

bool IsSerializable() const

Determines should the member be serialized when serializing the parent object.

ParseStyle

ManagedMemberStyle ParseStyle() const

Parses style attributes for this members and returns a structure holding all the relevant style information.

GetValue

virtual MonoObject *GetValue(MonoObject *instance) const = 0

Returns a boxed value contained in the member in the specified object instance.

instance
Object instance to access the member on.

Returns: A boxed value of the member.

SetUnboxedValue

virtual void SetUnboxedValue(MonoObject *instance, void *value) const = 0

Sets a value of the member in the specified object instance.

instance
Object instance to access the member on.
value
Value to set on the member. For value type it should be a pointer to the value and for reference type it should be a pointer to MonoObject.

SetValue

void SetValue(MonoObject *instance, MonoObject *value) const

Sets a value of the member in the specified object instance.

instance
Object instance to access the member on.
value
Boxed value to set on the member.

GetAttribute

virtual MonoObject *GetAttribute(MonoClass *monoClass) const = 0

Checks if the attribute of the provided type exists on the member and returns it, or returns null if the attribute is not present.

staticGetRttiStatic

static RTTIType *GetRttiStatic()

GetRtti

RTTIType *GetRtti() const override

Returns an interface you can use to access class' Run Time Type Information.

Fields

Name

String Name

TypeInfo

SPtr<ManagedTypeInfo> TypeInfo

MetaDataFlags

ManagedFieldMetaDataFlags MetaDataFlags

FieldId

u32 FieldId

ParentTypeId

u32 ParentTypeId