/// <summary> /// Loads the selected file /// </summary> private void LoadFile(object sender, EventArgs e) { try { Assembly assembly = Assembly.LoadFrom(fileLocation.Text); Type[] types = assembly.GetTypes(); string name; foreach (Type type in types) { name = type.Name; if (type.GetInterface("IUserObjectFactory") != null) { loadedFactory = (IUserObjectFactory)Activator.CreateInstance(type); factoryName.Text = name; } else if (type.GetInterface("IInputLayer") != null) { input.Items.Add(name); input.Text = name; } else if (type.GetInterface("IHiddenLayer") != null) { hidden.Items.Add(name); hidden.Text = name; } else if (type.GetInterface("IOutputLayer") != null) { output.Items.Add(name); output.Text = name; } else if (type.GetInterface("INode") != null) { node.Items.Add(name); node.Text = name; } else if (type.GetInterface("IPreProcessor") != null) { preProcessor.Items.Add(name); preProcessor.Text = name; } else if (type.GetInterface("IPostProcessor") != null) { postProcessor.Items.Add(name); postProcessor.Text = name; } else if (type.GetInterface("ITrainingAlgorithm") != null) { trainingAlgorithm.Items.Add(name); trainingAlgorithm.Text = name; } } } catch (IOException ex) { MessageBox.Show("The file could not be found and was not loaded"); } }
/// <summary> /// Addes an object factory to the list. /// </summary> /// <param name="name">The name that the factory should be added under.</param> /// <param name="factory">The object to store.</param> public void SetFactory(string name, IUserObjectFactory factory) { if (objectFactory.ContainsKey(name)) { objectFactory[name] = factory; } else { objectFactory.Add(name, factory); } if (FactoryListChanged != null) { FactoryListChanged(); } }
/// <summary> /// Loads the selected file /// </summary> private void LoadFile(object sender, EventArgs e) { try { Assembly assembly = Assembly.LoadFrom(fileLocation.Text); Type[] types = assembly.GetTypes(); string name; foreach (Type type in types) { name = type.Name; if (type.GetInterface("IUserObjectFactory") != null) { loadedFactory = (IUserObjectFactory)Activator.CreateInstance(type); factoryName.Text = name; } else if (type.GetInterface("IInputLayer") != null) { input.Items.Add(name); input.Text = name; } else if (type.GetInterface("IHiddenLayer") != null) { hidden.Items.Add(name); hidden.Text = name; } else if(type.GetInterface("IOutputLayer") != null) { output.Items.Add(name); output.Text = name; } else if(type.GetInterface("INode") != null) { node.Items.Add(name); node.Text = name; } else if(type.GetInterface("IPreProcessor") != null) { preProcessor.Items.Add(name); preProcessor.Text = name; } else if(type.GetInterface("IPostProcessor") != null) { postProcessor.Items.Add(name); postProcessor.Text = name; } else if (type.GetInterface("ITrainingAlgorithm") != null) { trainingAlgorithm.Items.Add(name); trainingAlgorithm.Text = name; } } } catch (IOException ex) { MessageBox.Show("The file could not be found and was not loaded"); } }
/// <summary> /// Loads a user binary file from disk. /// </summary> /// <param name="commands">Commands used to customize the behavior of the /// command</param> void BinaryHandler(List <RawCommand> commands) { Console.WriteLine("Loading binary..."); if (commands[2].CommandChar != 'f') { Console.WriteLine("User binary could not be loaded"); Console.WriteLine("No file was specified"); return; } try { string name = ""; if (commands.Count > 3) { if (commands[3].CommandChar == 'n') { name = commands[3].Value; } } Assembly assembly = Assembly.LoadFrom(commands[2].Value); IUserObjectFactory factory = null; //(IUserObjectFactory)assembly.CreateInstance("IUserObjectFactory"); foreach (Type type in assembly.GetTypes()) { if (type.GetInterface("IUserObjectFactory") != null) { factory = (IUserObjectFactory)Activator.CreateInstance(type); if (name == "") { name = type.Name; } break; } } if (factory == null) { Console.WriteLine("The binary was not loaded successfully."); return; } else { if (objectFactory.ContainsKey(name)) { objectFactory[name] = factory; } else { objectFactory.Add(name, factory); } } Console.WriteLine("Finished loading the binary."); } catch (Exception ex) { Console.WriteLine("The user binary file could not be loaded."); Console.WriteLine("There was an error reading the file"); } }
/// <summary> /// Addes an object factory to the list. /// </summary> /// <param name="name">The name that the factory should be added under.</param> /// <param name="factory">The object to store.</param> public void SetFactory(string name, IUserObjectFactory factory) { if (objectFactory.ContainsKey(name)) objectFactory[name] = factory; else objectFactory.Add(name, factory); if (FactoryListChanged != null) FactoryListChanged(); }