有大神解释下这代码什么意思吗?急,在线等!!

etie 2017-07-07 10:47:19
下面这代码什么意思啊?是循环还是什么?
cameraHelper.CarInfoEvent += (c => {
pictureBox2.Image = Image.FromFile(c.Type);
textBox1.Text = c.Message; });
cameraHelper.StartCarNum();
...全文
235 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
etie 2017-07-07
  • 打赏
  • 举报
回复
引用 8 楼 wanghui0380 的回复:
[quote=引用 7 楼 etie 的回复:] 变成这样吗?
cameraHelper.CarInfoEvent +=cameraHelper_CarInfoEvent;
private void cameraHelper_CarInfoEvent(EventMessagInfo c)
        {
            pictureBox2.Image = Image.FromFile(c.Type);
            textBox1.Text = c.Message;
        }
运行后没有原来的效果了
你少了一句cameraHelper.StartCarNum(); //启动他,看方法命名我猜是“启动摄像头车牌识别”对么? [/quote] 其实是这样:
cameraHelper.CarInfoEvent +=cameraHelper_CarInfoEvent;
cameraHelper.StartCarNum();
private void cameraHelper_CarInfoEvent(EventMessagInfo c)
        {
            pictureBox2.Image = Image.FromFile(c.Type);
            textBox1.Text = c.Message;
        }
大神说对了,我在研究大华摄像机的车牌识别功能,摄像机本身带车牌识别功能,C#中如何监听和接收识别到的车牌信息。 望大神指点,不胜感激
wanghui0380 2017-07-07
  • 打赏
  • 举报
回复
引用 7 楼 etie 的回复:
[quote=引用 1 楼 StratosBlue 的回复:] 在VS里面代码写到“cameraHelper.CarInfoEvent +=”之后按下Tab键,会自动生成一个函数,然后你把函数的参数改为c,把

pictureBox2.Image = Image.FromFile(c.Type);
textBox1.Text = c.Message;
这段代码复制到函数内,就是这个意思
变成这样吗?
cameraHelper.CarInfoEvent +=cameraHelper_CarInfoEvent;
private void cameraHelper_CarInfoEvent(EventMessagInfo c)
        {
            pictureBox2.Image = Image.FromFile(c.Type);
            textBox1.Text = c.Message;
        }
运行后没有原来的效果了[/quote] 你少了一句cameraHelper.StartCarNum(); //启动他,看方法命名我猜是“启动摄像头车牌识别”对么?
etie 2017-07-07
  • 打赏
  • 举报
回复
引用 1 楼 StratosBlue 的回复:
在VS里面代码写到“cameraHelper.CarInfoEvent +=”之后按下Tab键,会自动生成一个函数,然后你把函数的参数改为c,把

pictureBox2.Image = Image.FromFile(c.Type);
textBox1.Text = c.Message;
这段代码复制到函数内,就是这个意思
变成这样吗?
cameraHelper.CarInfoEvent +=cameraHelper_CarInfoEvent;
private void cameraHelper_CarInfoEvent(EventMessagInfo c)
        {
            pictureBox2.Image = Image.FromFile(c.Type);
            textBox1.Text = c.Message;
        }
运行后没有原来的效果了
wanghui0380 2017-07-07
  • 打赏
  • 举报
回复
当然这个代码本身内部处理得看上下文环境,如果事件是在线程中触发,这代码会产生跨线程调用控件异常,同时如果事件触发的频繁的话,mage.FromFile(c.Type) 这句会引发“GDI+一般性错误”的异常
wanghui0380 2017-07-07
  • 打赏
  • 举报
回复
某个事件的简写过程,写这种风格代码的人,更喜欢函数式写法,不喜欢割裂跳跃的“模块式事件挂接代码”
exception92 2017-07-07
  • 打赏
  • 举报
回复
+= 操作符 是给事件添加引用; 后边的()中的是匿名表达式,可以理解为一个无返回值的方法体; c 是CarInfoEvent 中的一个参数对象,包含type与message 这2个参数;
xdashewan 2017-07-07
  • 打赏
  • 举报
回复
关键词lambda表达式
IEEE_China 2017-07-07
  • 打赏
  • 举报
回复
事件,Linq
Anonymous477 2017-07-07
  • 打赏
  • 举报
回复
在VS里面代码写到“cameraHelper.CarInfoEvent +=”之后按下Tab键,会自动生成一个函数,然后你把函数的参数改为c,把

pictureBox2.Image = Image.FromFile(c.Type);
textBox1.Text = c.Message;
这段代码复制到函数内,就是这个意思

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧