|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2014, 17:14 | #1 |
Пользователь
Регистрация: 17.04.2012
Сообщений: 42
|
Универсальный делегат
Добрый день! Реализовываю программу, в которой присутствует конечный автомат. Соответственно, в автомате есть понятие действия которое будет выполняться по достижению определенного состояния.
В качестве действия я выбрал вызов события на которое подписаны обработчики. Проблема в том что обработчики имеют разную сигнатуру. И встал вопрос о том что нужно некоторое событие на которое могут подписываться разные обработчики. Есть ли такой делегат/событие? И если нет, то что использовать взамен? |
12.02.2014, 17:18 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
используйте массив объектов как параметры запроса.(или массив именованных объектов, через Dictionary)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.02.2014, 18:26 | #3 |
Пользователь
Регистрация: 17.04.2012
Сообщений: 42
|
Ну раз других способов точно нету, то буду делать так. спасибо
|
12.02.2014, 19:55 | #4 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Непонятно зачем разные сигнатуры. Если они должны срабатывать от одного и того же события, значит им не нужно для работы ничего, кроме предоставляемых событием параметров. А значит если у них не совпадают сигнатуры, значит скорее всего вы делаете что-то неправильно, хотя всякое возможно конечно) Приведите, если не затруднит, пример проблемных делегатов и события.
Изобретатель велосипедов
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Универсальный табель | ray_kh | Microsoft Office Excel | 2 | 15.07.2013 04:44 |
Преобразовать строку с функцией в делегат | FiloXSee | C# (си шарп) | 1 | 08.10.2012 13:35 |
Универсальный блокнот | Klaf | Общие вопросы Delphi | 3 | 25.04.2012 19:44 |
Делегат СompareDelegate<T> | Николая Ленин | C# (си шарп) | 1 | 13.04.2012 15:32 |
Делегат, интерфейс, событие. | pa6kevi4 | Общие вопросы .NET | 1 | 25.05.2010 19:26 |