Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 C#Unity如何使用工厂方法解析已进行注入的类_C# 4.0_Unity Container - Fatal编程技术网

C# 4.0 C#Unity如何使用工厂方法解析已进行注入的类

C# 4.0 C#Unity如何使用工厂方法解析已进行注入的类,c#-4.0,unity-container,C# 4.0,Unity Container,我有两个接口的实现。如;我有一个名为IWriter的接口。还有两个实现,如FileWriter(写入文件夹)和FTPWriter(将文件上传到FTP)。我想根据配置设置进行解析。所以需要使用工厂方法。FileWriter和FTPWriter都在其构造函数中注入了一些接口。那么我该如何解决这个问题呢 public interface IWriter{ void Write();} public class FileWriter : IWriter{ public FileWriter(II

我有两个接口的实现。如;我有一个名为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 >();
container.RegisterType();
谢谢