Browse Source

Cache method value.

pull/3056/head
Dariusz Komosinski 7 years ago
parent
commit
677762c336
  1. 8
      src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs

8
src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs

@ -142,10 +142,12 @@ namespace Avalonia.Utilities
_data = ndata; _data = ndata;
} }
MethodInfo method = s.Method;
var subscriber = (TSubscriber)s.Target; var subscriber = (TSubscriber)s.Target;
if (!s_Callers.TryGetValue(s.Method, out var caller)) if (!s_Callers.TryGetValue(method, out var caller))
s_Callers[s.Method] = caller = s_Callers[method] = caller =
(CallerDelegate)Delegate.CreateDelegate(typeof(CallerDelegate), null, s.Method); (CallerDelegate)Delegate.CreateDelegate(typeof(CallerDelegate), null, method);
_data[_count] = new Descriptor _data[_count] = new Descriptor
{ {
Caller = caller, Caller = caller,

Loading…
Cancel
Save