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);
}
}