C# 如何在C中从以下委托操作方法检索字符串和事件#

C# 如何在C中从以下委托操作方法检索字符串和事件#,c#,delegates,C#,Delegates,嗨,C#的新成员,请提前道歉 我试图在程序中创建一个句柄,从这个(WebSocketWebRapper)类的公共函数中检索字符串/文本和事件 我在这里讨论了这门课的一部分: public WebSocketWrapper OnMessage(Action<string, WebSocketWrapper> onMessage) { _onMessage = onMessage; return this; } publicwebsocketwrapper-OnMess

嗨,C#的新成员,请提前道歉 我试图在程序中创建一个句柄,从这个(WebSocketWebRapper)类的公共函数中检索字符串/文本和事件

我在这里讨论了这门课的一部分:

public WebSocketWrapper OnMessage(Action<string, WebSocketWrapper> onMessage)
{
    _onMessage = onMessage;
    return this;
}
publicwebsocketwrapper-OnMessage(Action-OnMessage)
{
_onMessage=onMessage;
归还这个;
}
注意:_onMessage在类中声明为:

private Action<string, WebSocketWrapper> _onMessage;
private Action-onMessage;

我了解代理是如何工作的,以及在学习如何在操作和事件处理中使用代理的过程中是如何工作的,但我不知道如何创建代理来检索上述方法的结果

该模式通常用于添加自己的回调,即

server.OnMessage((s, wrapper) => {
    Console.WriteLine($"received: {s}");
});
因此:无论何时收到消息,都会调用回调函数并提供仅在回调lambda中定义的值
s
。你也可以这样写:

server.OnMessage(ProcessMessage);
...
void ProcessMessage(string s, WebSocketWrapper wrapper)
{
    Console.WriteLine($"received: {s}");
}

现在,每当收到消息时,
ProcessMessage
方法就会被调用。

谢谢Jon,我刚刚意识到我必须用ctrl->kThanks-Marc插入代码片段,这现在非常有意义