From 3877f100c37e1cce82ce0c4888c975deaf2d3efb Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 31 Dec 2020 16:50:49 +0100 Subject: [PATCH] Fix C# methods lookup for method signatures with output structure parameter passed as reference --- Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp b/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp index 3e3ad5ed8..d2f07ef80 100644 --- a/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp +++ b/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp @@ -159,10 +159,16 @@ MClass* MAssembly::GetClass(const StringAnsiView& fullname) const return nullptr; } + StringAnsiView key(fullname); + + // Special case for reference + if (fullname[fullname.Length() - 1] == '&') + key = StringAnsiView(key.Get(), key.Length() - 1); + // Find class by name const auto& classes = GetClasses(); MClass* result = nullptr; - classes.TryGet(fullname, result); + classes.TryGet(key, result); #if 0 if (!result) {