using System; using System.Collections.Generic; using System.Reflection; namespace ZeroLevel.Services.Invokation { public interface IInvokeWrapper { IEnumerable Configure(); IEnumerable Configure(string methodName); IEnumerable Configure(Func filter); IEnumerable Configure(Type instanceType); IEnumerable Configure(Type instanceType, string methodName); IEnumerable Configure(Type instanceType, Func filter); IEnumerable ConfigureGeneric(Type instanceType, string methodName); IEnumerable ConfigureGeneric(Type instanceType, Func filter); IEnumerable ConfigureGeneric(Type instanceType, Type genericType, string methodName); IEnumerable ConfigureGeneric(Type instanceType, Type genericType, Func filter); string Configure(MethodInfo method); string Configure(Delegate handler); IEnumerable Configure(IEnumerable list); object InvokeStatic(string identity, object[] args); object Invoke(object target, string identity, object[] args); object Invoke(object target, string identity); object Invoke(string methodName, object[] args); string GetInvokerIdentity(string methodName, params Type[] argsTypes); Invoker GetInvoker(string identity); Invoker GetInvoker(string methodName, params Type[] argsTypes); } }