public IFile CreateFile(int id, string filename, string fileType) { IRequest req = Kernel.CreateRequest(typeof(IFile), null, new IParameter[] { new Parameter("id", id, false), new Parameter("filename", filename, false) }, false, false); if (!Kernel.CanResolve(req)) { Kernel.Bind <IFile>().To <LastOpenFiles>().Named("LastOpenedFile").WithConstructorArgument("id", id).WithConstructorArgument("filename", filename); Kernel.Bind <IFile>().To <File>().Named("MostRecentFile").WithConstructorArgument("id", id).WithConstructorArgument("filename", filename); } IFile file = Kernel.Get <IFile>(fileType); Kernel.Unbind <IFile>(); return(file); }
public Controls.ITabItem CreateTabItem(string filename, IHighlightsHelper hightlightsHelper) { IRequest req = Kernel.CreateRequest(typeof(ITabItem), null, new IParameter[] { new Parameter("filename", filename, false), new Parameter("hightlightsHelper", hightlightsHelper, false) }, false, false); if (!Kernel.CanResolve(req)) { Kernel.Bind <ITabItem>() .To <FileWatcherTabItem>() .WithConstructorArgument("filename", filename) .WithConstructorArgument("hightlightsHelper", hightlightsHelper); } ITabItem tab = Kernel.Get <ITabItem>(); Kernel.Unbind <ITabItem>(); return(tab); }