我有一个名为 ICompleteConsumer 的接口,它只有一种方法,并且该接口有多个实现。
前任:
public class SampleClass1: ICompleteConsumer {
public async Task Complete(Model model) {
// do the work
}
}
public class SampleClass2: ICompleteConsumer {
public async Task Complete(Model model) {
// do the work
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样在启动中注册了这些
services.AddScoped<ICompleteConsumer, SampleClass1>(),
services.AddScoped<ICompleteConsumer, SampleClass2>(),
Run Code Online (Sandbox Code Playgroud)
我注入这些依赖项如下
public class ConsumerHandlerService(string message) {
private readonly ICompleteConsumer completeConsumer;
public ConsumerHandlerService(ICompleteConsumer completeConsumer) {
this.completeConsumer = completeConsumer
}
switch (MessageType) {
case (MessageType .1) //I want SampleClass1 implementation to here
var model = JsonConvert.DeserializeObject < Model > …Run Code Online (Sandbox Code Playgroud)