From 4ac4891e2153893e4873536afc78957041dbdd0e Mon Sep 17 00:00:00 2001 From: Kieran Bond Date: Wed, 7 Oct 2020 12:23:09 +0100 Subject: [PATCH 1/2] Modify Guard Approve invoke to inject into Guard --- src/Robotlegs/Bender/Framework/Impl/Guards.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Robotlegs/Bender/Framework/Impl/Guards.cs b/src/Robotlegs/Bender/Framework/Impl/Guards.cs index 4ab987e..cf68e82 100644 --- a/src/Robotlegs/Bender/Framework/Impl/Guards.cs +++ b/src/Robotlegs/Bender/Framework/Impl/Guards.cs @@ -39,6 +39,10 @@ public static bool Approve(IInjector injector, IEnumerable guards) MethodInfo approveMethod = guardInstance.GetType().GetMethod("Approve"); if (approveMethod != null) { + //Before we invoke Approve, inject any needed values + if (injector != null && guardInstance.GetType().IsClass) + injector.InjectInto(guardInstance); + if ((bool)approveMethod.Invoke (guardInstance, null) == false) return false; } From f64fd12c3e0e8e6cc3c4dd5bcd7b297c3dd100aa Mon Sep 17 00:00:00 2001 From: Kieran Bond Date: Wed, 7 Oct 2020 12:26:12 +0100 Subject: [PATCH 2/2] Modify Hook invoke to inject into Hook before --- src/Robotlegs/Bender/Framework/Impl/Hooks.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Robotlegs/Bender/Framework/Impl/Hooks.cs b/src/Robotlegs/Bender/Framework/Impl/Hooks.cs index 88b6cb4..3df20c8 100644 --- a/src/Robotlegs/Bender/Framework/Impl/Hooks.cs +++ b/src/Robotlegs/Bender/Framework/Impl/Hooks.cs @@ -42,7 +42,13 @@ public static void Apply(IInjector injector, IEnumerable hooks) MethodInfo hookMethod = hookInstance.GetType().GetMethod("Hook"); if (hookMethod != null) + { + //Before we invoke Hook, inject any needed values + if (injector != null && hookInstance.GetType().IsClass) + injector.InjectInto(hookInstance); + hookMethod.Invoke (hookInstance, null); + } else throw new Exception ("Invalid hook to apply"); }