ASP.NET 웹 페이지의 여러 컨트롤에 단일 이벤트 처리기를 사용하려고합니다. 이미 존재하지 않는 경우에만 런타임에 이벤트 처리기를 추가하고 싶습니다. 아래와 같이 C#에서, 나는 그것을 작성합니다 마찬가지로VB.NET에 이벤트 처리기를 프로그램으로 추가하지 않는 경우
if (myTextBox.OnTextChanged == null)
{
myTextBox.OnTextChanged += DoTextChangingValidation;
}
, 나는 다음과 같이 내가 이벤트 핸들러를 제거 할 수 있습니다 알고
if (myTextBox.OnTextChanged != null)
{
myTextBox.OnTextChanged -= DoTextChangingValidation;
}
내가 추가하고 이벤트 핸들러를 제거하는 방법을 알고 Visual Basic에서 ... 그러나 이미 할당되었는지 확인하는 방법을 어떻게 알아낼 수 있습니까?
작성한 코드는 C#에서 컴파일되지 않습니다. 클래스 외부에서는 이벤트에 대해 처리기를 추가하거나 처리기를 제거하는 2 가지 작업 만 수행 할 수 있습니다. 핸들러 목록을 가져올 수 없으므로'myTextBox.OnTextChanged'는 델리게이트를 반환하는 표현식이 아닙니다. 그 점을 감안할 때, C#에서 실제로 무엇을하는지, 따라서 VB에서하고 싶은 것이 명확하지 않습니다. –
좋아요, 그래서 저는 C#에서 할 수있는 일과 할 수없는 것에 착각했습니다.기본적으로 내가하려고하는 것은 같은 핸들러가 컨트롤에 여러 번 추가되는 것을 방지하는 것입니다. 주어진 시간에 이벤트에 하나 이상의 핸들러가 할당되지 않도록하고 싶습니다. – Michael