Поиск в .exe и .dll методов и их запуск - C#

Узнай цену своей работы

Формулировка задачи:

Необходимо реализовать программу, позволяющую просматривать содержимое .exe и .dll, т.е. выводить все методы, используемые в программе, их тип (это уже сделал). так же эта программа должна запускать выбранный метод. вот запуск как раз и не получается. использовал статейку от сюда http://itmodus.ru/articles/59, однако ни к чему путному это не привело

Решение задачи: «Поиск в .exe и .dll методов и их запуск»

textual
Листинг программы
 openFileDialog1.Filter = "Сборка|*.exe;*.dll";
            openFileDialog1.ShowDialog();
            file = openFileDialog1.FileName;
 
            StreamReader sr = new StreamReader(file);
            try
            {
                richTextBox1.Text = "";
                comboBox1.Items.Clear();
                Assembly Ass = Assembly.LoadFrom(file);
                Type[] MyT = Ass.GetTypes();
                Module[] MyM = Ass.GetModules();
 
                foreach (Type t in MyT)
                {
 
                    richTextBox1.Text = richTextBox1.Text + "Класс: " + t.FullName + "\nБазовый тип = " + t.BaseType.FullName;
                    richTextBox1.Text = richTextBox1.Text + "\nМетод: ";
                    MethodInfo[] MyMeth = t.GetMethods();
                    MethodAttributes MyMethAtr;
                    foreach (MethodInfo me in MyMeth)
                    {
                        MyMethAtr = me.Attributes;
                        if (me.Module == MyM[0])
                        {
                            richTextBox1.Text = richTextBox1.Text + " " + me.Name + " - " + me.ReturnType.ToString() + ";";
                            comboBox1.Items.Add(me.Name);
                        }
 
 
                    }
                    richTextBox1.Text = richTextBox1.Text + "\n-------\n";
                }
                foreach (Module m in MyM)
                {
                    richTextBox1.Text = richTextBox1.Text + "Файл: " + m.Name;
                }
            }
            catch
            {
                MessageBox.Show("Ошибка чтения");
            }
            finally
            {
                sr.Close();
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5