Я хочу знать, присвоили ли управлению метод на событии Click.
Button b = new Button();
b.Click += (sender, e) => { };
/* What I want */
b.Click.Count // 1
Мне нужно что-то, что может, по крайней мере, сказать мне, если управление имеет или не некоторый метод на событии щелчка.
Вы можете немного почитать эту тему Определить список обработчиков событий, привязанных к event, похоже, что она может быть несколько связана с тем, что вы пытаетесь сделать.
. Это можно сделать только из класса, которому принадлежит обработчик событий ( Кнопка
в этом кейс).
В классе Button
вы можете протестировать Click! = Null
, чтобы узнать, были ли подписчики. К сожалению, поскольку я подозреваю, что кнопка Button
является классом фреймворка, вам не повезло.
Вы не можете этого сделать. Event - это просто добавление/удаление методов для добавления делегата в цепочку. Только класс, у которого есть событие, может знать, есть ли подписчики на это событие.
Более того, вам не нужно знать, есть ли подписчики на событие элемента управления. Зачем вам нужна эта информация?
Если вам нужно проверить, существует ли делегат / подписан ли он, вы можете сначала попробовать - =, в catch run + =