powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с Reflection - InvokeMethod
3 сообщений из 3, страница 1 из 1
Проблема с Reflection - InvokeMethod
    #33846289
cors
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Непонятная проблема возникла - я с помощью InvokeMethod вызываю перегруженные версии метода, который описан в в том же классе, что и вызов. Так вот - с одним набором параметров всё работает, с другим выкидает Method ... not found. Коллекция параметров заполнена правильно - и по количеству, и по типам, из кода я могу вызвать этот вариант метода. Не понимаю, почему не срабатывает динамический вызов.
Немного кода:

Вот обе версии методов.

protected void StartStatechart(string statechartId, string entryStateId, object model, object key, object value)
{
//Do something
}

public void StartStatechart(string statechartId, string entryStateId, object model)
{
    //Do something
}
а вот их вызов:
...
object[] args = parameters.ConvertToObjects();                
Type tp = Type.GetType("ClassName");
tp.InvokeMember("StartStatechart",
    BindingFlags.Default | BindingFlags.InvokeMethod,
    null,this,args);


Так вот, второй вариант метода (string, string, object) вызывается без проблем.
Первый метод могу вызвать только вручную. Массив параметров я заполяю, как
{System.String,System.String,System.Object,System.Object,System.Object}, но при динамичеком вызове метода возникает ошибка. В чём дело?!!


Важно не количество знаний, а качество их. Можно знать очень многое, не зная самого нужного.
Л. Н. Толстой
...
Рейтинг: 0 / 0
Проблема с Reflection - InvokeMethod
    #33847692
cors
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточнение: когда я попытался просмотреть все методы класса (GetMethods), то действительно, существует только один метод с именем StartStatechart. Тогда вопрос: почему не видно остальных перегруженных методов (всего их четыре)?
Важно не количество знаний, а качество их. Можно знать очень многое, не зная самого нужного.
Л. Н. Толстой
...
Рейтинг: 0 / 0
Проблема с Reflection - InvokeMethod
    #33847796
cors
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё разрешилось. Спасибо за ответы

Дело в том, что у другого метода модификатор protected и, хотя мы вызывали его из того же класса, но через Reflection - вроде, как "извне".
Важно не количество знаний, а качество их. Можно знать очень многое, не зная самого нужного.
Л. Н. Толстой
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с Reflection - InvokeMethod
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]