int n = BtCom.BytesToRead;
Byte[] buf = new Byte[n];
BtCom.Read(buf, 0, n);
CPublecClass.G_ReceiveString.Clear();
this.Invoke((EventHandler)(delegate
{
CPublecClass.G_ReceiveString.Append(Encoding.ASCII.GetString(buf));
string temp = CPublecClass.G_ReceiveString.ToString();
BtReceiveBuff.AppendText(temp);
}));
上面的这段小代码是串口通讯程序中数据监听线程使用委托的方法修改主线程UI的代码。功能都实现了,但是有些看不懂中间的
delegate
{
CPublecClass.G_ReceiveString.Append(Encoding.ASCII.GetString(buf));
string temp = CPublecClass.G_ReceiveString.ToString();
BtReceiveBuff.AppendText(temp);
}
我知道这是个委托,但是很费解,这个是定义了一个匿名函数么??那么delegate后面不是应该有个()么? 看形式也不是lambda表达式啊!翻看了入门经典和高级编程都没看到过这种写法,谁给解释下啊?
Byte[] buf = new Byte[n];
BtCom.Read(buf, 0, n);
CPublecClass.G_ReceiveString.Clear();
this.Invoke((EventHandler)(delegate
{
CPublecClass.G_ReceiveString.Append(Encoding.ASCII.GetString(buf));
string temp = CPublecClass.G_ReceiveString.ToString();
BtReceiveBuff.AppendText(temp);
}));
上面的这段小代码是串口通讯程序中数据监听线程使用委托的方法修改主线程UI的代码。功能都实现了,但是有些看不懂中间的
delegate
{
CPublecClass.G_ReceiveString.Append(Encoding.ASCII.GetString(buf));
string temp = CPublecClass.G_ReceiveString.ToString();
BtReceiveBuff.AppendText(temp);
}
我知道这是个委托,但是很费解,这个是定义了一个匿名函数么??那么delegate后面不是应该有个()么? 看形式也不是lambda表达式啊!翻看了入门经典和高级编程都没看到过这种写法,谁给解释下啊?
解决方案 »
- 新手求解..........劳驾(看对不)绝对回评.......
- 这个AutomationElement怎么给他发送点击事件?
- datagridview 按某一字段排序 CellClick报错
- 大家帮个忙啊。xml怎么读取?
- C# 动态结构体
- ASP.net高手请进
- 使用.net remoting的读取远程数据和直接用ado.net读取,哪个效率更高?
- 关于C#语言的一个小问题
- c#检测已安装的程序
- 我在自定义的用户控件中定义了一结构,想在调用它的窗口中给其赋值,有没有好的方法?
- 在winform中,点击一个adoble安装按钮,就从官网下载相对应的adoble reader程序
- TextBox光标问题
正如 Thread t = new Thread((ThreadStart)delegate{Console.WriteLine("OK");})此时(ThreadStart)不可以省略,否则这样写:Thread t = new Thread(delegate(){Console.WriteLine("OK");})