From 677762c336c68711c9c0fc7463bc3c68916d7a50 Mon Sep 17 00:00:00 2001 From: Dariusz Komosinski Date: Tue, 1 Oct 2019 23:13:07 +0200 Subject: [PATCH] Cache method value. --- src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs b/src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs index f4cec98628..37e25d0fac 100644 --- a/src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs +++ b/src/Avalonia.Base/Utilities/WeakEventHandlerManager.cs @@ -142,10 +142,12 @@ namespace Avalonia.Utilities _data = ndata; } + MethodInfo method = s.Method; + var subscriber = (TSubscriber)s.Target; - if (!s_Callers.TryGetValue(s.Method, out var caller)) - s_Callers[s.Method] = caller = - (CallerDelegate)Delegate.CreateDelegate(typeof(CallerDelegate), null, s.Method); + if (!s_Callers.TryGetValue(method, out var caller)) + s_Callers[method] = caller = + (CallerDelegate)Delegate.CreateDelegate(typeof(CallerDelegate), null, method); _data[_count] = new Descriptor { Caller = caller,