Как добавить EventHandler в WebSocketClient - PullRequest
0 голосов
/ 03 апреля 2020

Я портирую некоторый код из QT в. NET. Я использую VS2019 Pro и мне нужно захватить WebSocketClient события в качестве полученного сообщения.

У меня есть это:

using System;
using System.Linq;
using System.Net.WebSockets;
using System.IO;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace DevWebSockets{
    public delegate void OnDev_TxtMsgRcvd(object sender,EventArgs e);

    class Program {

        public enum WebSocketConnectionState {
            SockNotConnected, SockEstablishingConnection, SockConnected
        }

        public WebSocketConnectionState m_ConnectionState;

        public event OnDev_TxtMsgRcvd DevTxtRcvdEvent; // OnTxtMsgRcvd;

        public void OnDev_TxtMsgRcvd(object sender, EventArgs e) {
            Console.WriteLine("Dev - Rcvd Text message");
        }

        static void Main(string[] args) {

            try {
                new Program().Start().Wait();
            } catch (Exception ex) {
                // Console.WriteLine("Exception {0} - {1}", ex.Message, ex.InnerException);
            }
        }


        public async TaskStart(){          
            m_ConnectionState = WebSocketConnectionState.SockNotConnected;

            Console.WriteLine("Press enter to start Please ");
            string name = Console.ReadLine();

            Console.WriteLine("Connecting...");


            var cts = new CancellationTokenSource();
            var CWS = new ClientWebSocket();

            CWS += new EventHandler<ClientWebSocket>(OnDev_TxtMsgRcvd(Object s, EventArgs e));
        }
    }

}

На данный момент компилятор поместил

CS1525 - Недопустимый термин «объект» для слова Object
CS1003 - Синтаксическая ошибка ',' ожидается под буквой s
CS1003 - Синтаксическая ошибка ',' ожидается под буквой e

При наведении курсора на красные волнистые линии получается: object - это тип, недопустимый в данном контексте

  • Тот, что под 'говорит: имя' s 'не существует в текущем контексте
  • То, что под EventArgs, совпадает с тем, что под объектом
  • , которое под 'e' совпадает с 's'

По сути, я хочу иметь метод для перехвата сообщений, поступающих с устройства, чтобы я мог определить действия, которые необходимо предпринять, если таковые имеются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...