[Show Call Stack][event] Object reference not set to an instance of an object.

  • 1555
  • 0

摘要:[Show Call Stack][event] Object reference not set to an instance of an object.

有次為了要使用事件取得回傳值,於是使用了 Func<>宣告事件 GetResult,

之後我在Combox的SelectedIndexChanged事件上撰寫檢查事件回傳值代碼:


if ( GetResult() == enumoption.Succeed )
{
}

看上面很簡單只是取得回傳值判斷是否等於這個列舉值,

但是Visual Studio給我報錯誤:

 

而問題就出現在於 GetResult 有可能沒有被訂閱,直接引發事件是可能會出錯的,就代表 GetResult  == null,所以正確的作法如下:


if ( GetResult != null && GetResult() == enumoption.Succeed )
{
}

 

這觀念算很重要,突然忘記卡了很久在這個錯誤訊息上。