Exemple #1
0
        /// <summary>
        /// <inheritdoc cref="ExportServicesAttribute"/>
        /// </summary>
        /// <param name="lifetime">导出服务的生命周期</param>
        /// <param name="exportTypeDiscovererType">
        /// 导出类型发现器类型
        /// <para/>
        /// 需继承类型 <see cref="IExportTypeDiscoverer"/>
        /// </param>
        /// <param name="addMode">添加到DI容器的方式</param>
        public ExportServicesAttribute(ServiceLifetime lifetime, Type exportTypeDiscovererType, AddDIMode addMode)
        {
            Lifetime = lifetime;
            ExportTypeDiscovererType = exportTypeDiscovererType ?? throw new ArgumentNullException(nameof(exportTypeDiscovererType));

            exportTypeDiscovererType.ThrowIfNotInherit <IExportTypeDiscoverer>(nameof(exportTypeDiscovererType));

            ExportTypes = Array.Empty <Type>();

            AddDIMode = addMode;
        }
 /// <summary>
 /// <inheritdoc cref="ExportTransientServicesAttribute"/>
 /// </summary>
 /// <param name="exportTypeDiscovererType">
 /// 导出类型发现器类型
 /// <para/>
 /// 需继承类型 <see cref="IExportTypeDiscoverer"/>
 /// </param>
 /// <param name="addMode">添加到DI容器的方式</param>
 public ExportTransientServicesAttribute(Type exportTypeDiscovererType, AddDIMode addMode) : base(ServiceLifetime.Transient, exportTypeDiscovererType, addMode)
 {
 }
Exemple #3
0
 /// <summary>
 /// <inheritdoc cref="ExportServicesAttribute"/>
 /// </summary>
 /// <param name="lifetime">导出服务的生命周期</param>
 /// <param name="addMode">添加到DI容器的方式</param>
 /// <param name="exportTypes"><inheritdoc cref="ExportServicesAttribute(byte)"/></param>
 public ExportServicesAttribute(ServiceLifetime lifetime, AddDIMode addMode, params Type[] exportTypes) : this(lifetime, exportTypes)
 {
     AddDIMode = addMode;
 }
 /// <summary>
 /// <inheritdoc cref="ExportTransientServicesAttribute"/>
 /// </summary>
 /// <param name="addMode">添加到DI容器的方式</param>
 /// <param name="exportTypes"><inheritdoc cref="ExportServicesAttribute(byte)"/></param>
 public ExportTransientServicesAttribute(AddDIMode addMode, params Type[] exportTypes) : base(ServiceLifetime.Transient, addMode, exportTypes)
 {
 }
 /// <summary>
 /// <inheritdoc cref="ExportSingletonServicesAttribute"/>
 /// </summary>
 /// <param name="exportTypeDiscovererType">
 /// 导出类型发现器类型
 /// <para/>
 /// 需继承类型 <see cref="IExportTypeDiscoverer"/>
 /// </param>
 /// <param name="addMode">添加到DI容器的方式</param>
 public ExportSingletonServicesAttribute(Type exportTypeDiscovererType, AddDIMode addMode) : base(ServiceLifetime.Singleton, exportTypeDiscovererType, addMode)
 {
 }
 /// <summary>
 /// <inheritdoc cref="ExportSingletonServicesAttribute"/>
 /// </summary>
 /// <param name="addMode">添加到DI容器的方式</param>
 /// <param name="exportTypes"><inheritdoc cref="ExportServicesAttribute(byte)"/></param>
 public ExportSingletonServicesAttribute(AddDIMode addMode, params Type[] exportTypes) : base(ServiceLifetime.Singleton, addMode, exportTypes)
 {
 }
Exemple #7
0
 /// <summary>
 /// <inheritdoc cref="ExportScopedServicesAttribute"/>
 /// </summary>
 /// <param name="exportTypeDiscovererType">
 /// 导出类型发现器类型
 /// <para/>
 /// 需继承类型 <see cref="IExportTypeDiscoverer"/>
 /// </param>
 /// <param name="addMode">添加到DI容器的方式</param>
 public ExportScopedServicesAttribute(Type exportTypeDiscovererType, AddDIMode addMode) : base(ServiceLifetime.Scoped, exportTypeDiscovererType, addMode)
 {
 }
Exemple #8
0
 /// <summary>
 /// <inheritdoc cref="ExportScopedServicesAttribute"/>
 /// </summary>
 /// <param name="addMode">添加到DI容器的方式</param>
 /// <param name="exportTypes"><inheritdoc cref="ExportServicesAttribute(byte)"/></param>
 public ExportScopedServicesAttribute(AddDIMode addMode, params Type[] exportTypes) : base(ServiceLifetime.Scoped, addMode, exportTypes)
 {
 }