Я портирую некоторый код из 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'
По сути, я хочу иметь метод для перехвата сообщений, поступающих с устройства, чтобы я мог определить действия, которые необходимо предпринять, если таковые имеются.