我有一个小程序,可以监视Web套接字的变化。 更改后,它会抓取一个json文件并反序列化该对象。 执行此操作的线程将数据存储在类的实例中。
我想将包含所有新数据的对象传递给主线程中的方法。 所以我可以检查它的变化并将其写入文件。
将孔对象传递给主线程方法的最佳方法是什么?
public partial class MainWindow : Window
{
public class JsonData
{
public string[] Highlights { get; set; }
public string[] Images { get; set; }
public string Cur_carno { get; set; }
public string Cur_desc { get; set; }
public string Cur_bid_disp { get; set; }
public string Message { get; set; }
}
public MainWindow()
{
InitializeComponent();
}
private void socketIoManager(string ip)
{
var socket = IO.Socket(ip);
socket.On(Quobject.SocketIoClientDotNet.Client.Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("Connected");
});
socket.On("_DATA", (data) =>
{
var Info = JsonConvert.DeserializeObject<JsonData>(data.ToString());
// need to pass Info object to UpdateFeed()
}
}
private void connect_click(object sender, RoutedEventArgs e)
{
socketIoManager(json_ip.Text);
}
private void UpdateFeed(object info)
{
// do stuff with info
string json = JsonConvert.SerializeObject(info);
//write string to file
System.IO.File.WriteAllText(@"dataX.json", json);
}
}