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

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

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

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

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

textual
Листинг программы
  1.  openFileDialog1.Filter = "Сборка|*.exe;*.dll";
  2.             openFileDialog1.ShowDialog();
  3.             file = openFileDialog1.FileName;
  4.  
  5.             StreamReader sr = new StreamReader(file);
  6.             try
  7.             {
  8.                 richTextBox1.Text = "";
  9.                 comboBox1.Items.Clear();
  10.                 Assembly Ass = Assembly.LoadFrom(file);
  11.                 Type[] MyT = Ass.GetTypes();
  12.                 Module[] MyM = Ass.GetModules();
  13.  
  14.                 foreach (Type t in MyT)
  15.                 {
  16.  
  17.                     richTextBox1.Text = richTextBox1.Text + "Класс: " + t.FullName + "\nБазовый тип = " + t.BaseType.FullName;
  18.                     richTextBox1.Text = richTextBox1.Text + "\nМетод: ";
  19.                     MethodInfo[] MyMeth = t.GetMethods();
  20.                     MethodAttributes MyMethAtr;
  21.                     foreach (MethodInfo me in MyMeth)
  22.                     {
  23.                         MyMethAtr = me.Attributes;
  24.                         if (me.Module == MyM[0])
  25.                         {
  26.                             richTextBox1.Text = richTextBox1.Text + " " + me.Name + " - " + me.ReturnType.ToString() + ";";
  27.                             comboBox1.Items.Add(me.Name);
  28.                         }
  29.  
  30.  
  31.                     }
  32.                     richTextBox1.Text = richTextBox1.Text + "\n-------\n";
  33.                 }
  34.                 foreach (Module m in MyM)
  35.                 {
  36.                     richTextBox1.Text = richTextBox1.Text + "Файл: " + m.Name;
  37.                 }
  38.             }
  39.             catch
  40.             {
  41.                 MessageBox.Show("Ошибка чтения");
  42.             }
  43.             finally
  44.             {
  45.                 sr.Close();
  46.             }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут