|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
привет подскажите пожалуйста есть приложение из нескольких сборок как вызвать некоторый метод зная его имя метод может быть в любой сборке принадлежащей приложению и метод может быть в модуле сборки а не в классе ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:04 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fxи метод может быть в модуле сборки а не в классе с этого места поподробнее ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:06 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Изопропил, Namespace issled Public Module mdl_Main Public Sub test1() End Sub Public Class test_class Public Sub test2() End Sub End Class End Module End Namespace вопрос как вызвать test1 и test2 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:08 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
метод класса найти и вызвать легко - System.Reflection метод "модуля" наверно тоже, только я не знаю что такое "модуль" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:35 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Яростный Меч, все примеры показывают как получить метод если приложение из одной сборки а сборок несколько my.application дает ссылку на главную сборку как получить ссылку на сборку из которой надо дергать метод? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:38 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Яростный Мечметод "модуля" наверно тоже, только я не знаю что такое "модуль" статический класс похоже ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:42 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fxкак получить ссылку на сборку из которой надо дергать метод? перебрать все загруженные сборки(системные можно игнорировать) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 23:43 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
ИзопропилЯростный Мечметод "модуля" наверно тоже, только я не знаю что такое "модуль" статический класс похожеДа. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 00:02 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Antonariy, что то не выходит каменный цветок перебираю Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 00:16 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fx, так метод внутри модуля, надо сначала модуль найти, а потом в нем метод искать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 00:19 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Яростный МечAlexander_fx, так метод внутри модуля, надо сначала модуль найти, а потом в нем метод искать. GetModules возвращает один модуль и так же нет моего метода ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 00:57 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fxGetModules возвращает один модуль и так же нет моего метода модули бейсика и модули CLR - это разные сущности ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 01:05 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fx, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
вот так пробую но не вижу свой паблик метод ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 01:06 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
ИзопропилAlexander_fxGetModules возвращает один модуль и так же нет моего метода модули бейсика и модули CLR - это разные сущностивидимо, надо искать статический класс ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 01:49 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Яростный МечИзопропилпропущено... модули бейсика и модули CLR - это разные сущностивидимо, надо искать статический класс да уж вот это помощь и что гуглить мне по фразе - надо искать статический класс? ну нечего писать - ну не пишите, а шибко надо 24256 сообщение, велком во флейм. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 02:11 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fxда уж вот это помощь за вас код нужно написать ? - так это в "Работа" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 08:24 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fxЯростный Мечпропущено... видимо, надо искать статический класс да уж вот это помощь и что гуглить мне по фразе - надо искать статический класс? ну нечего писать - ну не пишите, а шибко надо 24256 сообщение, велком во флейм. берёшь домен приложения, смотришь в нем все сборки, в каждой сборке смотришь все типы, находишь нужный, ищешь в нём свой метод что может быть проще? как чё смотреть тебе уже сказали - System.Reflection ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 09:58 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Alexander_fxкак вызвать метод в приложении зная его имя Методов у приложения не бывает. Alexander_fxесть приложение из нескольких сборок как вызвать некоторый метод зная его имя Метод чего, приложения или сборок? По первому: см. выше. По второму: методов у сборок не бывает. Alexander_fxметод может быть в любой сборке принадлежащей приложению См. выше. Методов у сборок не бывает. Alexander_fxи метод может быть в модуле сборки а не в классе Метод не может быть в модуле (что это?). Метод не может быть в сборке (см. выше). Метод может быть только у класса . Итого, чтобы вызвать метод класса, нужно: 1. Обратиться к экземпляру класса. 2. Чтобы обратиться к экземпляру класса, нужно его инстанциировать (Activator.CreateInstance или Assembly.CreateInstance для динамической инстанциации). 3. Для того, чтобы инстанциировать класс, нужно знать его определение (тип). 4. Для того, чтобы знаеть его определение, нужно загрузить типы. 5. Для того, чтобы загрузить типы, нужно обратиться к сборке. 6. Для того, чтобы обратиться к сборке, нужно работать с классом Assembly из System.Reflection (есть возможность подгружать сборку из файла) А теперь к практике: http://codearticles.ru/articles/2310 http://codearticles.ru/articles/1388 http://codearticles.ru/articles/1386 Вопросы, пожелания? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 10:19 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
МСУМетод не может быть в модуле (что это?) Это бейсик. "Модуль" в смысле бейсика - это просто статический класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 10:30 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
pationберёшь домен приложения, смотришь в нем все сборки, в каждой сборке смотришь все типы, находишь нужный, ищешь в нём свой метод что может быть проще? судя по стартовому посту нужно в каждой сборке, загруженной в домен, перебрать все типы и найти в них статические методы с заданным именем ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 10:32 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
ИзопропилМСУМетод не может быть в модуле (что это?) Это бейсик. "Модуль" в смысле бейсика - это просто статический класс. Не согласен. Тут есть путаница: Assembly.GetModule ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 10:41 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Конкретно для работы с модулями есть Module Class: http://msdn.microsoft.com/en-us/library/system.reflection.module.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2 У него есть Module.GetMethod Method (String): http://msdn.microsoft.com/en-us/library/6t16athe.aspx У класса Assembly есть метод GetModules(). Как перебирать ассембли вроде уже обсудили. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 11:26 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
всем ответившим спасибо. но так же просьба - прежде чем отвечать читать не последний пост в ветке а хоть текущую страницу. я указал код Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
и что толку давать советы типа перебрать сборки приложения и получить рефлексией нужный тебе метод. в коде это все присутсвует. Текущая проблема в том что даже перебрав все модули, я не нахожу свой метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 12:37 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
Не там ищешь. Код: vbnet 1.
Кроме меня этим окошком никто не пользуется что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 13:10 |
|
как вызвать метод в приложении зная его имя
|
|||
---|---|---|---|
#18+
я так думаю у меня проблема не найти тип а найти статический метод самой сборки ( который в бейские обьявляется в модуле вот так) Код: vbnet 1. 2. 3. 4.
делаю перебор вот так Код: vbnet 1. 2. 3. 4. 5. 6.
и все равно нет моего метода может потому что я ищу его в типе а не в инстансе. в общем нид хелп ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2013, 13:26 |
|
|
start [/forum/topic.php?fid=20&fpage=159&tid=1404497]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 489ms |
0 / 0 |