Абстрактный класс наследует интерфейс, и затем абстрактный класс имеет несколько реализаций. Как мне внедрить?
Интерфейс:
public interface IStatementsDetailService<T> : IApplicationService where T : ReportFinancialStatementsDetailItem, new()
{
/// <summary>
/// 获取销账明细
/// </summary>
/// <param name="requestDto"></param>
/// <returns></returns>
Task<ReportFinancialStatementsDetailDto<T>>
ReportFinancialStatementsDetail(ReportFinancialStatementsDetailRequest requestDto);
}
абстрактный класс:
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){
}
}
Это моя инъекция в модуле:
IocManager.Register(
typeof(IStatementsDetailService<>),
typeof(StatementsDetailBaseService<>),
DependencyLifeStyle.Transient);
Но это не может работать