Q: Abp Castle Dependency injection abstract class An abstract class inherits an interface, and then the abstract class has multiple implementations.How should I inject?

interface:
public interface IStatementsDetailService<T> : IApplicationService where T : ReportFinancialStatementsDetailItem, new()
    {
        /// <summary>
        /// 获取销账明细
        /// </summary>
        /// <param name="requestDto"></param>
        /// <returns></returns>
        Task<ReportFinancialStatementsDetailDto<T>>
            ReportFinancialStatementsDetail(ReportFinancialStatementsDetailRequest requestDto);
    }


abstract class:
public abstract class StatementsDetailBaseService<T> : FanjiaFinancialSystemAppServiceBase, IStatementsDetailService<T> where T : ReportFinancialStatementsDetailItem, new(){
   public abstract Task<ReportFinancialStatementsDetailDto<T>> ReportFinancialStatementsDetail(ReportFinancialStatementsDetailRequest requestDto);
}


A:
public class MICEVisaStatementsDetailService : StatementsDetailBaseService<MICEVisaItem>{
 public async override Task<ReportFinancialStatementsDetailDto<MICEVisaItem>> ReportFinancialStatementsDetail(ReportFinancialStatementsDetailRequest requestDto){
 }
}


B:
public class FlightStatementsDetailService : StatementsDetailBaseService<FlightDetailItem>{
 public async override Task<ReportFinancialStatementsDetailDto<FlightDetailItem>> ReportFinancialStatementsDetail(ReportFinancialStatementsDetailRequest requestDto){
 }
}


This is my injection in the module:
IocManager.Register(
       typeof(IStatementsDetailService<>),
       typeof(StatementsDetailBaseService<>),
       DependencyLifeStyle.Transient);

But it can't work
