У меня есть логическое событие, и я пытаюсь вызвать каждого подписчика индивидуально, поэтому могу вернуть false, если хотя бы один подписчик возвращает false. Пока из-за моих попыток у меня не осталось ничего, кроме усталого мозга, который хочет плакать и съесть пирог (а потом поплакать).
Для функции, которая действительно вызывает событие, у меня есть делал это:
foreach (Delegate sub in SomeBooleanEvent.GetInvocationList())
{
someBool = sub;
//blah blah blah code blah blah blah
}
}
Я получаю следующую ошибку:
CS0029: невозможно неявно преобразовать тип System.Delegate в bool
Я так запутался ... Помогите мне ... пожалуйста ... ?
Редактировать: После того, как мне наконец удалось собрать силу воли для решения этой проблемы, я обнаружил, что использует func<bool>
вместо Delegate
вроде работает частично.
Однако теперь у меня возникла новая проблема. Когда я вызываю событие, присутствует / звонит только один абонент?