Передать делегат с параметрами в аргументы метода - C#
Формулировка задачи:
Вообщем нашел способ как вызывать ивенты с любого класса, и что б в подписчике был доступ к любому контролу, даже если ивент вызывал совсем другой контрол...
Хочу запилить класс под это дело, но вот не могу догнать как мне это реализовать... ведь мне получается в этот класс(далее MyInvoker) нужно передать делегат(или указатель на нужный метод) и что бы этот делегат был уже с нужной сигнатурой, и еще передать аргументы что б их передать при вызове этого делегата уже из моего MyInvoker.
Короче я сам не сильно понимаю как это все реализовать, но в двух словах должно быть так:
создаю объект класса MyInvoker;
передаю туда указатель на метод и все параметры для него;
вызываю этот метод с переданными рание параметрами из моего MyInvoker класса;
Но вот как мне писать сигнатуру принимающего метода в MyInvoker? Я же не знаю зарание сколько будет параметров... Ну как вариант object[], но как потом из этого массива параметров вытащить все и передать в метод(который указатель)?
Короче кто занимался такими делами подскажите реально ли такое сделать?
Никаких идей?
Такс, дело продвинулось, нашел способ передавать любую функцию в мой класс, и потом ее вызывать, но теперь хочу с аргументами разобратся... Есть ли способ передавать делегат принимающий object[], и уже внутри моего класса узнать какие именно типы необходимы, и их точное количество для вызова функции, разобрать этот массив object[] и порозставлять нужные параметры в нужном порядке, аля "String.Format();"
Решение задачи: «Передать делегат с параметрами в аргументы метода»
textual
Листинг программы
label1.Text = b.data;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д