Refactor managed array unboxing to handle case of C# array passes as object

#1415
This commit is contained in:
Wojtek Figat
2023-09-20 14:17:11 +02:00
parent 5c5c64cf76
commit 8bd6649510
6 changed files with 33 additions and 2 deletions

View File

@@ -408,6 +408,12 @@ void* MCore::Array::GetAddress(const MArray* obj)
return CallStaticMethod<void*, void*>(GetArrayPointerPtr, (void*)obj);
}
MArray* MCore::Array::Unbox(MObject* obj)
{
static void* GetArrayPtr = GetStaticMethodPointer(TEXT("GetArray"));
return (MArray*)CallStaticMethod<void*, void*>(GetArrayPtr, (void*)obj);
}
MGCHandle MCore::GCHandle::New(MObject* obj, bool pinned)
{
ASSERT(obj);