C# Fix deserialization of delegates that are 0-parameter overloads
Co-authored-by: Raul Santos <raulsntos@gmail.com>
(cherry picked from commit 783facf60b
)
This commit is contained in:
parent
c6c5b5bf78
commit
88f5f815e6
|
@ -500,24 +500,17 @@ namespace Godot
|
|||
Type? returnType = hasReturn ? DeserializeType(reader) : typeof(void);
|
||||
|
||||
int parametersCount = reader.ReadInt32();
|
||||
var parameterTypes = parametersCount == 0 ? Type.EmptyTypes : new Type[parametersCount];
|
||||
|
||||
if (parametersCount > 0)
|
||||
for (int i = 0; i < parametersCount; i++)
|
||||
{
|
||||
var parameterTypes = new Type[parametersCount];
|
||||
|
||||
for (int i = 0; i < parametersCount; i++)
|
||||
{
|
||||
Type? parameterType = DeserializeType(reader);
|
||||
if (parameterType == null)
|
||||
return false;
|
||||
parameterTypes[i] = parameterType;
|
||||
}
|
||||
|
||||
methodInfo = declaringType.GetMethod(methodName, (BindingFlags)flags, null, parameterTypes, null);
|
||||
return methodInfo != null && methodInfo.ReturnType == returnType;
|
||||
Type? parameterType = DeserializeType(reader);
|
||||
if (parameterType == null)
|
||||
return false;
|
||||
parameterTypes[i] = parameterType;
|
||||
}
|
||||
|
||||
methodInfo = declaringType.GetMethod(methodName, (BindingFlags)flags);
|
||||
methodInfo = declaringType.GetMethod(methodName, (BindingFlags)flags, null, parameterTypes, null);
|
||||
return methodInfo != null && methodInfo.ReturnType == returnType;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue