protected override IEnumerable <ICallHandler> DoGetHandlersFor(MethodImplementationInfo member, IUnityContainer container)
 {
     if (member.InterfaceMethodInfo != null)
     {
         foreach (var handlerAttribute in ReflectionHelper.GetAllAttributes <PerMethodHandlerAttribute>(member.InterfaceMethodInfo, true))
         {
             yield return(handlerAttribute.CreateHandler(container, member));
         }
     }
     foreach (var handlerAttribute in ReflectionHelper.GetAllAttributes <PerMethodHandlerAttribute>(member.ImplementationMethodInfo, true))
     {
         yield return(handlerAttribute.CreateHandler(container, member));
     }
 }
 /// <summary>
 /// Checks to see if <paramref name="member"/> matches the rule.
 /// </summary>
 /// <remarks>Returns true if any <see cref="HandlerAttribute"/>s are present on the method
 /// or the type containing that method.</remarks>
 /// <param name="member">Member to check.</param>
 /// <returns>true if member matches, false if not.</returns>
 public bool Matches(MethodBase member)
 {
     return(ReflectionHelper.GetAllAttributes <HandlerAttribute>(member, true).Length > 0);
 }