Я просто хотел использовать код из этот поток (первый пост), чтобы что-то проверить, я не очень хорошо знаком с C#, но он вылетает, когда пакет отправляется на сервер в следующей строке:
NewMessageReceived(this, new MyMessageArgs(bytes));
со следующим сообщением об ошибке:
System.NullReferenceException: Object reference not set to an instance of an object
Я думаю, потому что NewMessageReceived не инициализирован, но как мне это сделать? Кто-нибудь может мне помочь? Я не могу найти полезных советов по обработчикам событий в C#.
Заранее спасибо.
NewMessageReceived
, обработчик будетnull
. Таким образом, вам нужно обнулитьNewMessageReceived
перед вызовом. Для обеспечения безопасности потоков, предотвращения ситуаций, когда обработчик может стать нулевым после проверки и перед вызовом, сначала сохраните обработчик события в локальном:var tempEvent = NewMessageReceived; if(tempEvent != null) tempEvent(this, new MyMessageArgs(bytes));
- person Glorin Oakenfoot   schedule 15.06.2016