在Castle Windsor中注册组件时,我们如何将接口的特定实现绑定到依赖于该接口的组件.我事先知道组件需要使用哪种实现方式.
例如,我基于来自几个博客和教程的代码创建了一个示例控制台应用程序.
以下是代码.
public interface IReport
{
void LogReport();
}
public interface ILogger
{
string Log();
}
public class FileLogger : ILogger
{
public string Log()
{
return "Logged data to a file";
}
}
public class DatabaseLogger : ILogger
{
public string Log()
{
return "Logged data to a database";
}
}
public class McAfeeService : IReport
{
private readonly ILogger _logger;
public McAfeeService(ILogger logger)
{
this._logger = logger;
}
public void LogReport()
{
string getLogResult = this._logger.Log(); …Run Code Online (Sandbox Code Playgroud)