Пример #1
0
        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);
        }
Пример #2
0
        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);
        }