나는 커스텀 이벤트 접근자를 만드는 방법에 대한 튜토리얼을 따라왔다. 이것은 내가 가지고있는 코드 :C# 내 잠금 선언문이 왜 매달 리지?
event ControlNameChangeHandler IProcessBlock.OnControlNameChanged
{
add
{
lock (ControlNameChanged)
{
ControlNameChanged += value;
}
}
remove
{
lock (ControlNameChanged)
{
ControlNameChanged -= value;
}
}
}
코드가 추가 statament에서 lock(ControlNameChanged)
에 도달하는 순간 아무 일도 발생하지 않습니다. 코드가 더 이상 실행되지 않습니다. 그러나 내 응용 프로그램은 여전히 작동 중입니다. 얼지 않아요.
무엇이 잘못 되었나요?
핸들러를 실행하는 동안 핸들러를 변경하는 것은 정말 좋은 생각입니다! –
당신은 어떻게 그걸 의미합니까? 미안 해요, 이거 처음이에요. – Martijn
@Mitch : 명시 적 인터페이스 구현이므로 위임자 또는 동일한 객체의 다른 이벤트에 대한 참조와 비슷하게 보입니다. – Lucero