Beispiel #1
0
        private void button6_Click(object sender, EventArgs e)
        {
            String AboutLibName = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "InterfacesDescriptions.dll");

            if (!File.Exists(AboutLibName))
            {
                MessageBox.Show("File not found"); return;
            }
            ///Загружаем сборку
            Assembly AboutAssembly = Assembly.LoadFrom(AboutLibName);

            // MessageBox.Show("wefewfewf");
            ///в цикле проходим по всем public-типам сборки
            foreach (Type t in AboutAssembly.GetExportedTypes())
            {
                ///если это класс,который реализует интерфейс IAboutInt,
                ///то это то,что нам нужно Smile
                if (t.IsClass && typeof(IChangeAttriburesMethods).IsAssignableFrom(t))
                {
                    //     MessageBox.Show("wefewfewf");
                    ///создаем объект полученного класса
                    IChangeAttriburesMethods serDec = (IChangeAttriburesMethods)Activator.CreateInstance(t);
                    ///вызываем его метод GetAboutText
                    list = serDec.DecAttribute();
                    for (int i = 0; i <= list.Count - 1; i++)
                    {
                        listBox1.Items.Add(list[i].getAccessTo());
                    }

                    break;
                }
            }
        }
Beispiel #2
0
        private void button1_Click_2(object sender, EventArgs e)
        {
            ///Получаем полный путь к файлу AboutLibrary.dll.
            ///Предполагаем, что он находится в папке, где и
            ///исполняемый файл
            ///


            String AboutLibName = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "InterfacesDescriptions.dll");

            if (!File.Exists(AboutLibName))
            {
                MessageBox.Show("File not found"); return;
            }
            ///Загружаем сборку
            Assembly AboutAssembly = Assembly.LoadFrom(AboutLibName);

            // MessageBox.Show("wefewfewf");
            ///в цикле проходим по всем public-типам сборки
            //  bool b = true;
            foreach (Type t in AboutAssembly.GetExportedTypes())
            {
                ///если это класс,который реализует интерфейс IAboutInt,
                ///то это то,что нам нужно Smile
                if (t.IsClass && typeof(IChangeAttriburesMethods).IsAssignableFrom(t))
                {
                    //     MessageBox.Show("wefewfewf");
                    ///создаем объект полученного класса
                    IChangeAttriburesMethods serDec = (IChangeAttriburesMethods)Activator.CreateInstance(t);
                    ///вызываем его метод GetAboutText
                    serDec.SerAttribute(list);
                    //      b = false;

                    break;
                }
            }
        }