internal static Microsoft.Practices.ComponentModel.ServiceContainer CreateFilter(IServiceProvider provider, string filterTypeName, StringDictionary attributes, out ICodeModelEditorFilter filter) { Microsoft.Practices.ComponentModel.ServiceContainer editorServiceProvider = new Microsoft.Practices.ComponentModel.ServiceContainer(true); editorServiceProvider.Site = new Site(provider, editorServiceProvider, editorServiceProvider.GetType().FullName); editorServiceProvider.AddService(typeof(IDictionaryService), new DictionaryWrapper(attributes)); if (string.IsNullOrEmpty(filterTypeName)) { filter = null; } else { ITypeResolutionService typeResService = (ITypeResolutionService)provider.GetService(typeof(ITypeResolutionService)); Type filterType = typeResService.GetType(filterTypeName); if (filterType == null) { filter = null; } else { filter = (ICodeModelEditorFilter)Activator.CreateInstance(filterType); if (filter is IComponent) { editorServiceProvider.Add((IComponent)filter); } } } return(editorServiceProvider); }
internal Microsoft.Practices.ComponentModel.ServiceContainer CreateEditorServiceProvider(IServiceProvider provider, out ISolutionPickerFilter filter) { Microsoft.Practices.ComponentModel.ServiceContainer editorServiceProvider = new Microsoft.Practices.ComponentModel.ServiceContainer(true); editorServiceProvider.Site = new Site(provider, editorServiceProvider, editorServiceProvider.GetType().FullName); editorServiceProvider.AddService(typeof(IDictionaryService), new DictionaryWrapper(attributes)); filter = CreateEditorFilter(provider); if (filter is IComponent) { editorServiceProvider.Add((IComponent)filter); } return(editorServiceProvider); }
internal Microsoft.Practices.ComponentModel.ServiceContainer CreateEditorServiceProvider(IServiceProvider provider, out ISolutionPickerFilter filter) { Microsoft.Practices.ComponentModel.ServiceContainer editorServiceProvider = new Microsoft.Practices.ComponentModel.ServiceContainer(true); editorServiceProvider.Site = new Site(provider, editorServiceProvider, editorServiceProvider.GetType().FullName); editorServiceProvider.AddService(typeof(IDictionaryService), new DictionaryWrapper(attributes)); filter = CreateEditorFilter(provider); if(filter is IComponent) { editorServiceProvider.Add((IComponent)filter); } return editorServiceProvider; }