/// <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) { }
/// <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) { }
/// <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) { }
/// <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) { }