组件发射器 C# 上的多个变量



我昨天开始用C#编程。我来自JS(几乎是Web开发(。 我遇到了一个问题: 在Javascript中,我会写:

socket.on('step', function(data_x, data_y) {
var status = document.getElementById("status");
status.innerHTML = data_x+","+data_y;
console.log(data_x+", "+data_y);
});

但是在 C# 中我不能写:

socket.On(String.Format(rb), (data_x, data_y) =>
{
var tempValue_x = JsonConvert.SerializeObject(data_x);
var tempValue_y = JsonConvert.SerializeObject(data_y);
UpdateData(String.Format("{0}, {1}", tempValue_x, tempValue_y));
});

在这种情况下,你需要定义函数参数是 C# 中的函数或动作, 例:

public class SocketObject
{
}
public static class SocketExtension
{
public static void On(this SocketObject socket, string name, Action<object, object> func)
{
// do something
// call back
func(param1, param2);
}
}

现在你可以这样做了

var socket = new SocketObject();
socket.On("test", (param1, param2) =>
{
});

在 c# 中,你可以使用 Action 和 Func 来使用像 param(js 中的回调(这样的函数,了解更多
Func 和 行动

最新更新