我有interface
有两个实现。
public interface ILogger
{
void Log(string message);
}
public class FileLogger : ILogger
{
public void Log(string message) {}
}
public class SQLiteLogger : ILogger
{
public void Log(string message) {}
}
我尝试使用此代码,但无效。
ServiceContainer service = new ServiceContainer();
service.Register<ILogger, FileLogger>();
service.Register<ILogger, SQLiteLogger>();
LightInject
会省略第一次注册,只会注册SQLiteLogger
。
那么如何在LightInject
?
答案 0 :(得分:3)
这称为Named Services - 这是我见过的大多数IOC / DI容器的标准(参见有关命名服务的部分)。
文档提供了您需要的所有详细信息,但这里有来自其网站的剪切和粘贴:
ActiveSheet.ListObjects("TableName")