Nice programing

C # : '+ = anEvent'와 '+ = new EventHandler (anEvent)'의 차이점

nicepro 2020. 10. 24. 11:46
반응형

C # : '+ = anEvent'와 '+ = new EventHandler (anEvent)'의 차이점


아래 코드를 사용하십시오.

private void anEvent(object sender, EventArgs e) {
    //some code
}

다음의 차이점은 무엇입니까?

[object].[event] += anEvent;

//and

[object].[event] += new EventHandler(anEvent);

[최신 정보]

분명히, 둘 사이에는 차이가 없습니다. 전자는 후자의 통사론 적 설탕 일뿐입니다.


다른 점이 없다. 첫 번째 예제에서 컴파일러는 인스턴스화하려는 대리자를 자동으로 추론합니다. 두 번째 예에서는 대리자를 명시 적으로 정의합니다.

대리인 추론은 C # 2.0에 추가되었습니다. 따라서 C # 1.0 프로젝트의 경우 두 번째 예제가 유일한 옵션이었습니다. 2.0 프로젝트의 경우, 추론을 사용하는 첫 번째 예제는 더 간결하기 때문에 코드베이스에서 사용하고 보는 것을 선호합니다.


[object].[event] += anEvent;

단지 구문상의 설탕입니다-

[object].[event] += new EventHandler(anEvent);

차이가 없다고 생각합니다. 컴파일러는 첫 번째를 두 번째로 변환합니다.

참고 URL : https://stackoverflow.com/questions/550703/c-difference-between-anevent-and-new-eventhandleranevent

반응형