namespace LY.App.Extensions.DI
{
    [AttributeUsage(AttributeTargets.Class)]
    public class ServiceInjectionAttribute : Attribute
    {
        /// 
        ///
        /// 
        public Type InterfaceType { get; set; }
        /// 
        /// 注入类型
        /// 
        public InjectionType InjectionType { get; }
        /// 
        /// 服务注入
        /// 
        public ServiceInjectionAttribute()
        {
            this.InjectionType = InjectionType.Scoped;
        }
        /// 
        /// 服务注入
        /// 
        /// 注入类型
        public ServiceInjectionAttribute(InjectionType injectionType)
        {
            this.InjectionType = injectionType;
        }
        /// 
        /// 服务注入
        /// 
        /// 服务的接口类型
        /// 注入的类型
        public ServiceInjectionAttribute(Type interfaceType, InjectionType injectionType)
        {
            this.InterfaceType = interfaceType;
            this.InjectionType = injectionType;
        }
    }
}