как вызвать метод в приложении зная его имя
От: Аноним  
Дата: 13.06.13 19:05
Оценка:
привет подскажите пожалуйста
есть приложение из нескольких сборок
как вызвать некоторый метод зная его имя
метод может быть в любой сборке принадлежащей приложению
и метод может быть в модуле сборки а не в классе
Re: как вызвать метод в приложении зная его имя
От: igor-booch Россия  
Дата: 13.06.13 19:41
Оценка:
Reflection
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания
http://rsdn.ru/Info/rules.xml
Re: как вызвать метод в приложении зная его имя
От: Nikolay_Ch Россия  
Дата: 13.06.13 21:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>и метод может быть в модуле сборки а не в классе

Это как?
Re[2]: как вызвать метод в приложении зная его имя
От: Sinix  
Дата: 14.06.13 05:44
Оценка: 2 (1) +1
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Здравствуйте, Аноним, Вы писали:


А>>и метод может быть в модуле сборки а не в классе

N_C>Это как?

CLR поддерживает глобальные методы (объявлены не в классе, а напрямую в сборке, точнее, в модуле сборки). Напрямую шарпом не поддерживается, но можно использовать managed c++ или создать вручную, через Reflection.Emit. Пример использования — вот тут
Автор: Sinix
Дата: 08.07.11
.

Топикстартеру — только подписываться на загрузку сборок и в фоне рефлексией заполнять словарь { имя метода, список подходящих MethodHandle }. Как разруливать методы с одинаковой сигнатурой и как быть если у кода обрезаны права — вопрос уже не ко мне Если есть возможность, я бы хранил имя метода с учётом типа/сборки, или помечал бы доступные для вызова методы/содержащие их типы атрибутами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.