none
dynamic RRS feed

  • Общие обсуждения

  • Добрый день.

    Есть чужая сборка, скажем DLL. Есть в ней метод нестатический, принимающий в качестве параметра делегат. Вопрос вызвать такой метод? Суть проблемы кроется в том, что я не знаю способа, как передать в метод делегат.

    Большое спасибо.

    12 декабря 2013 г. 20:33

Все ответы

  • Делегат, это по сути обычный класс, позволяющий запускать методы обратного вызова. Опишите в своём коде метод, сигнатура которого совпадает с сигнатурой делегата, создайте экземпляр делегата, передав ссылку на метод конструктору. Затем передайте экземпляр делегата во внешний код. Вот и все.

    А почему dynamic?

    13 декабря 2013 г. 4:49
  • Привет. Старайтесь делать заголовок топика и содержимое более информативными, чтобы быстрее можно было помочь.

    Сделаем содержимое сообщества лучше, вместе!

    13 декабря 2013 г. 6:08
    Модератор
  • Делегат, это по сути обычный класс, позволяющий запускать методы обратного вызова. Опишите в своём коде метод, сигнатура которого совпадает с сигнатурой делегата, создайте экземпляр делегата, передав ссылку на метод конструктору. Затем передайте экземпляр делегата во внешний код. Вот и все.

    А почему dynamic?

    Пытаюсь изучить возможности dynamic по сравнению с reflection.

    Получить экземпляр внешнего делегата не получается. При передаче его в метод в качестве параметра ругается на несоответствие аргументов. Даже, если его передавать в качестве динамика.

    • Изменено yogenius 15 декабря 2013 г. 12:49
    15 декабря 2013 г. 12:49
  • Приведите, пожалуйста, описание делегата, сигнатуру метода, параметром которого является экземпляр делегата, а также Ваш способ вызова этого метода.
    15 декабря 2013 г. 16:16