public static IContainer InitContainer(string localConnectionString, FileReaderParam @params) { var builder = new ContainerBuilder(); builder.RegisterType <FileReader>() .WithParameter(new TypedParameter(typeof(FileReaderParam), @params)) .As <IFileReader>(); builder.RegisterType <Gateway>() .WithParameter(new TypedParameter(typeof(IDataReader), new DataReader(localConnectionString))); builder.RegisterType <Worker>().As <IWorker>(); return(builder.Build()); }
static void Main(string[] args) { var connectionStrings = ConfigurationManager.ConnectionStrings; var localConnectionString = connectionStrings["LocalConnectionString"].ConnectionString; var root = ConfigurationManager.AppSettings["Root"]; var rootFolder = ConfigurationManager.AppSettings["RootFolder"]; var destinationFolder = ConfigurationManager.AppSettings["DestinationFolder"]; var @params = new FileReaderParam(root, rootFolder, destinationFolder); using (var container = ContainerConfiguration.InitContainer(localConnectionString, @params)) { container.Resolve <IWorker>().Work(); } }
public FileReader(FileReaderParam @param) { _root = @param.Root; _rootFolder = @param.RootFolder; _destinationFolder = @param.DestinationFolder; }