Exemplo n.º 1
0
        private void FillVentors()
        {
            string pathFolder = System.AppDomain.CurrentDomain.BaseDirectory;

            string[] dllFiles = Directory.GetFiles(pathFolder, "*.dll");

            foreach (string item in dllFiles)
            {
                try
                {
                    Assembly assembly = Assembly.LoadFile(item);
                    foreach (Type type in assembly.GetTypes())
                    {
                        Type iface = type.GetInterface("IVentor");
                        if (iface != null && !type.IsAbstract)
                        {
                            CommonInterfacesClasses.IVentor ventor = (CommonInterfacesClasses.IVentor)
                                                                     Activator.CreateInstance(type);
                            this.vendors.Add(ventor);
                            this.listBox_ventors.Items.Add(ventor);
                        }
                    }
                }
                catch (ReflectionTypeLoadException e)
                {
                    MessageBox.Show("Ошибка загрузки плагина \n" + e.Message);
                }
            }
        }
Exemplo n.º 2
0
        private void listBox_ventors_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.listBox_Models.Items.Clear();
            this.listBox_Colors.Items.Clear();

            CommonInterfacesClasses.IVentor temp = (CommonInterfacesClasses.IVentor)((ListBox)sender).SelectedItem;
            curentModels = temp.GetProductionList();

            if (this.curentModels.Count != 0)
            {
                foreach (CommonInterfacesClasses.ICarModel item in curentModels)
                {
                    this.listBox_Models.Items.Add(item.Name);
                }
            }
        }