Tôi mới dùng C# và không hiểu cú pháp gọi một hành động mới hoặc thậm chí là hành động là gì. Từ sự hiểu biết của tôi trong Port1_DataReceived, tôi phải tạo ra một hành động bởi vì tôi đang ở trong một tread mới ... Bất cứ ai có thể xây dựng trên lý do tại sao tôi cần phải làm điều này?Trợ giúp hiểu cú pháp C# khi gọi một Action mới
public Form1()
{
InitializeComponent();
SerialPort Port1 = new SerialPort("COM11", 57600, Parity.None, 8, StopBits.One);
Port1.DataReceived += new SerialDataReceivedEventHandler(Port1_DataReceived);
Port1.Open();
}
private void Port1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort Port = (SerialPort)sender;
string Line = "";
int BytestoRead = Port.BytesToRead;
Line = Port.ReadLine();
label1.Invoke(new Action(() =>
{
label1.Text = Line;
}));
}
Mã snip mà tôi đang thực sự gặp khó khăn trong sự hiểu biết là:
label1.Invoke(new Action(() =>
{
label1.Text = Line;
}));
Ai đó có thể phá vỡ điều này đang làm .. Tôi chắc chắn nó là không có gì để phức tạp, chỉ là tôi chưa bao giờ nhìn thấy bất cứ điều gì giống như nó trước đây. Cú pháp thực sự nắm giữ tôi là ()=>
hành động mới đang trỏ đến mã bên dưới hoặc cái gì đó ??