Browse Source

Fix unpredictable choice between methods when using method binding.

pull/8905/head
Takoooooo 4 years ago
parent
commit
f69ae35158
  1. 15
      src/Avalonia.Base/Data/Core/Plugins/MethodAccessorPlugin.cs

15
src/Avalonia.Base/Data/Core/Plugins/MethodAccessorPlugin.cs

@ -55,13 +55,20 @@ namespace Avalonia.Data.Core.Plugins
var methods = type.GetMethods(bindingFlags); var methods = type.GetMethods(bindingFlags);
foreach (MethodInfo methodInfo in methods) foreach (var methodInfo in methods)
{ {
if (methodInfo.Name == methodName) if (methodInfo.Name == methodName)
{ {
found = methodInfo; var parameters = methodInfo.GetParameters();
if (parameters.Length == 1 && parameters[0].ParameterType == typeof(object))
break; {
found = methodInfo;
break;
}
else if (parameters.Length == 0)
{
found = methodInfo;
}
} }
} }

Loading…
Cancel
Save