我有两个接口的实现。例如;我有一个名为IWriter的接口。还有两个实现,如FileWriter(写入文件夹)和FTPWriter,它将文件上传到FTP。我想根据配置设置解决。所以需要使用工厂方法。 FileWriter和FTPWriter都在其构造函数中注入了一些接口。那么我该如何解决这个问题?
public interface IWriter{ void Write();}
public class FileWriter : IWriter{
public FileWriter(IInterface interface1, IInterface 2)
{
}
}
public class FTPWriter : IWriter{
public FTPWriter(IInterface interface1, IInterface 2)
{
}
}
public static Factory
{
public IWriter GetWriter(string mode)
{
if(mode=="1")
return new FileWriter();//But i need the object to the interface1, interface2 injected
else
return new FTPWriter(); //But i need the object to the interface1, interface2 injected
}
}
public class MainService : IMainService{
public MainClass(IOtherInterface other, IWriter writer){
}
}
我的团结配置:
container.RegisterType<IMainService, MainService >();
由于