庖丁解牛看委托和事件(续)

上一篇文章:庖丁解牛——深入解析委托和事件之后,以一题面试题来总结事件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace CallChange
{
    public class Call
    {
        static void Main(string[] args)
        {
            MessageMonitoring mm = new MessageMonitoring();
            //添加监听事件的响应函数
            mm.OnValueChange += new MMEventHandle((s, e) =>
            {

                Console.WriteLine(e.Value);

            });
            mm.Run();

        }
    }
    //参数e
    public class MMEventArgs : EventArgs
    {
        public int Value { get; set; }
    }
    public delegate void MMEventHandle(object sender, MMEventArgs e);
    //信息监控的类,当Value改变的时候,出发事件OnValueChange
    public class MessageMonitoring
    {
        public event MMEventHandle OnValueChange;
        private int _value;


        public void Run()
        {
            Thread thread = new Thread(() =>
            {
                while (true)
                {
                    Thread.Sleep(1000);
                    ++Value;
                }

            });
            thread.Start();

        }


        //属性改变
        public int Value
        {
            get { return _value; }
            set
            {
                if (_value != value)
                {
                    _value = value;
                    if (OnValueChange != null)
                    {
                        OnValueChange(this, new MMEventArgs { Value = _value });
                    }
                }
            }
        }

    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

跨线程的安全更新控件

632
来自专栏Golang语言社区

如果裸写一个goroutine pool

引言 在上文中,我说到golang的原生http server处理client的connection的时候,每个connection起一个goroutine,这...

3985
来自专栏*坤的Blog

DingTalk机器人C#代码

1155
来自专栏GreenLeaves

WCF系列教程之WCF客户端异常处理

本文参考自:http://www.cnblogs.com/wangweimutou/p/4414393.html,纯属读书笔记,加深记忆 一、简介 当我们打开W...

1856
来自专栏偏前端工程师的驿站

GridView实战二:使用ObjectDataSource数据源控件

前言:   ObjectDataSource数据源控件优点甚多,确实令人爱不惜手,但不支持重绑定这一项确实让人失望。下面的实战二将通过ObjectDataSou...

21110
来自专栏跟着阿笨一起玩NET

LINQ多条件OR模糊查询

本文章转载:http://www.cnblogs.com/guyun/archive/2012/10/18/2729888.html

521
来自专栏GuZhenYin

C#使用Xamarin开发可移植移动应用进阶篇(10.综合演练,来一份增删改查CRUD)

前言 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 呃 也有半个月没更新了. ...

2228
来自专栏菩提树下的杨过

正则表达式提取指定内容

using System; using System.Text.RegularExpressions; public partial class _De...

1787
来自专栏liulun

WEB项目后端跨域请求

using System; using System.Collections.Generic; using System.IO; using System.Li...

19310
来自专栏james大数据架构

asp.net中打印指定控件内容

1.写一个PrintHelper类 using System; using System.Data; using System.Configuration; u...

17710

扫码关注云+社区