2013-07-10 4 views
-3
Line1: if(m_Action != null) 
Line2:  m_Action(); // Null ref Exception!! 
  • m_Action는 C#의 액션 클래스이다.
  • m_Action이 생성자에서 초기화 된 다음 변경되지 않았습니다.
  • m_Action의 메소드에는 다형성이 있습니다.
  • 이 프로그램은 멀티 스레드입니다. 내가 m_Action 생각

는 (슈퍼 클래스의 방법) NOT NULL 표시하지만 널 OBJ (자식 클래스)에 m_Action의 방법. 왜 이런 일이 일어나는 걸까요?NULL 체크하고 널 REF 예외

+2

자세한 내용은 필수 항목입니다. – Tilak

+2

라인 0 :'액션 m_action =() => {FooClass x = null; x.Bar(); } ' –

답변

3

null 참조 예외가 예외 브레이크 포인트를 사용할 수있는 위치를 찾으려면 작업의 코드에서 제외됩니다.

디버그 -> 예외 및 일반 언어 런타임 예외에 대해 throw 된 열을 확인하면 null 참조 예외가 발생하는 지점에서 디버거가 중단됩니다.

+0

감사합니다. 나는 그것을 시도하고있다. –