using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace VCommon.Ioc { /// 单例注入 public interface IContainerInstanceIocClass { } /// 单例注入, 带拦截器 public interface IContainerInstanceIocClass where TInterceptor : IInterceptor { } /// 每次实例注入 public interface ITransientIocClass { } /// 每次实例注入,带拦截器 public interface ITransientIocClass where TInterceptor : IInterceptor { } /// 拦截器 public interface IInterceptor { void BeforeInvoke(Type svcClass, MethodBase svcMethod, IReadOnlyDictionary paramDic); void AfterInvoke(Type svcClass, MethodBase svcMethod, IReadOnlyDictionary paramDic, object resultReturnValue, Exception resultException); } }