Поиск в .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();
}