0
对不起,如果这是之前的答案,但我搜查,我没有找到我正在寻找什么,我不知道是否这是因为这是一种不好的做法,或者因为我不知道我的适当名称正在寻找。使Autofac根据某些参数返回实现相同接口的不同类?
我有这样的情况:我有一个邮件服务使用不同的提供者,具体取决于客户想要哪一个。客户可能希望通过UPS,DHL,FedEx或USPost发送邮件。他们每个人都会实现IMailing
public interface IMailing
{
void Mail(string message);
}
public class UPS : IMailing
{
public void Mail(string message)
{
Console.WriteLine(message + ", mailed with UPS!");
}
}
public class DHL : IMailing
{
public void Mail(string message)
{
Console.WriteLine(message + ", mailed with DHL!");
}
}
...
我想根据一些参数得到每个具体的实施IMailing。说一个字符串,我将传递给Autofac,根据该字符串键,它将返回一个UPS,DHL,FedEx等实例。
有没有办法做到这一点?可以吗?
谢谢。