public void RegisterAssemblies(string path) { isLoaded = true; string[] assemblies = Directory.GetFiles(path, "*.dll"); foreach (string assemblyName in assemblies) { Assembly assembly = Assembly.LoadFile(assemblyName); Type[] types = assembly.GetExportedTypes(); foreach (Type type in types) { if (type.IsSubclassOf(typeof(UserControl))) { UserControl userControl = Activator.CreateInstance(type) as UserControl; ITemplateUI templateUI = userControl as ITemplateUI; if (templateUI != null) { esTemplateInfo templateInfo = templateUI.Init(); if (templateInfo != null) { templateUserInterfaces.Add(templateInfo); } } } } } }
public bool GatherUserInput() { try { foreach (UserControl userControl in this.CurrentUIControls.Values) { ITemplateUI templateUI = userControl as ITemplateUI; if (!templateUI.OnExecute()) { return(false); } } } catch (Exception ex) { MainWindow.ShowError(ex); } return(true); }