private void LoadCommandsFrom(Assembly assembly) { foreach (Type type in assembly.GetExportedTypes()) { if (ExternalCommand.ContainsCommand(type)) { ExternalCommand cmd = new ExternalCommand(type); Commands.Add(cmd); _includedTypes.Add(cmd.CommandType); } } }
public ExternalCommand[] GetAssumedCommands(string fileName) { List <ExternalCommand> list = new List <ExternalCommand>(); foreach (ExternalCommand command in Commands) { if (command.Instance is ICanCreateFromFile) { ExternalCommand item = command.Clone(); ICanCreateFromFile iCanCreate = (ICanCreateFromFile)item.Instance; if (iCanCreate.IsAssumedCommand(fileName)) { iCanCreate.InitFromFile(fileName); list.Add(item); } } } return(list.ToArray()); }