Я следил за некоторыми учебниками о том, как создавать аксессоры событий custem. Это код, у меня есть:C# Почему мой оператор блокировки висит?
event ControlNameChangeHandler IProcessBlock.OnControlNameChanged
{
add
{
lock (ControlNameChanged)
{
ControlNameChanged += value;
}
}
remove
{
lock (ControlNameChanged)
{
ControlNameChanged -= value;
}
}
}
На данный момент код достигает в надстройке statament lock(ControlNameChanged)
, ничего не происходит. Код больше не работает. Однако мое приложение все еще работает. Он не замерзает или что-то в этом роде.
Что пошло не так?
Изменение обработчика во время выполнения обработчика - очень плохая идея! –
Как вы это понимаете? Извините, я новичок в этом. – Martijn
@Mitch: больше похоже на направление к делегату или другому событию на том же объекте, поскольку это явная реализация интерфейса. – Lucero