Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Методы *.exe файла, Net сборка. Мне нужны public методы. 
:(
    Опции темы
IEZ
Дата 3.9.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 10.2.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 3



Приветствую Всех!
Как, из проги, получить список методов *.exe файла?

Есть код:

Код

Assembly asm = null;
            Type[] types = null;
            MethodInfo[] methods = null;
            ListViewItem lvi = null;
            Stream myStream = null;
            OpenFileDialog ofd = new OpenFileDialog();
            int i = 0;

            if (this.PathData.Text.Length == 0) ofd.InitialDirectory = @"c:\";
            else ofd.InitialDirectory = this.PathData.Text;
            ofd.Filter = "Сборка|*.exe";
            ofd.FilterIndex = 1;
            ofd.RestoreDirectory = true;
            ofd.Multiselect = false;

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = ofd.OpenFile()) != null)
                {
                    myStream.Close();
                }

                this.lvEvent.Items.Clear();

                this.PathData.Text = ofd.FileName;

                this.lvEvent.BeginUpdate();

                asm = Assembly.LoadFile(ofd.FileName);
                types = asm.GetTypes();
                foreach (Type t in types)
                {
                    methods = t.GetMethods(BindingFlags.Public); <--------- Взвращает ноль методов (хотя в сборке есть public методы)
                    for (i = 0; i < methods.Length; i++)
                    {
                        lvi = new ListViewItem(methods[i].Name);
                        this.lvEvent.Items.Add(lvi);
                    }
                }

                this.lvEvent.EndUpdate();
            }




В чем может быть проблема?

Вот сам проект. 
В нем лежит файл Sborka.exe, результат самого проекта, в котором ищу методы.

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  pack.zip 27,25 Kb


--------------------
"Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух.
PM MAIL WWW ICQ   Вверх
tol05
Дата 3.9.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



нужно давать задания более конкретно. Почитай мануал по GetMethods() повнимательнее
Код

methods = t.GetMethods(BindingFlags.Public | BindingFlags.Instance);

да и еще кой-какие BindingFlags можно поюзать
smile


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0619 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.