文档章节

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

 木宛城主
发布于 2015/03/02 19:41
字数 171
阅读 3
收藏 0

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

 

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 });
                    }
                }
            }
        }

    }
}

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 222
码字总数 199010
作品 0
黄浦
私信 提问
.NET中的委托和事件(续)

首先感谢大家对我博文的支持,在这篇博文中我会向大家继续介绍.NET中的委托与事件,这次是对前面的知识的进一步加深学习。首先回答一下前面各位提及到的问题。 委托事件返回类型一定要为voi...

长平狐
2012/06/11
139
0
C#中的委托和事件(续)

引言 如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问...

冰点沐雪
2012/07/22
0
0
不忘本系列~目录

我写过的系列文章也不少了,不过“不忘本”这个系列与其它系列不同,它自己并不成章节,每讲与其它讲都没有内在联系,它是我在实际工作中遇到的问题的一个总结,觉得有时,基础知识确实很重要...

mcy247
2017/12/05
0
0
gradle and studio

Gradle Plugin 用户使用指南 Gradle 作为一种新的集成工具,关于 Gradle 的配置信息,多版本构建,签名,依赖导入,依赖多工程,测试等等 build.gradle 中配置信息,都在这里。 Gradle 之构建...

掘金官方
2017/12/29
0
0
iOS- 应用程序对象UIApplication

iphone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形势如下所示: int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName, NSString...

水一样的人儿
2015/12/30
23
0

没有更多内容

加载失败,请刷新页面

加载更多

VMware前路难测,多个厂家群雄逐鹿

在人们高谈Salesforce、亚马逊等新兴云计算厂商取得的成就时,以VMware、HPE和Cisco为代表的老牌厂商也在进行着自己的转型和变化,而且还取得一定的进展。以VMware为例,虚拟机巨头公布了第二...

linux-tao
7分钟前
0
0
Palindrome Linked List(leetcode234)

Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2Output: false Example 2: Input: 1->2->2->1Output: true Follow up: Could you do it in O(n) ......

woshixin
9分钟前
0
0
【宇润日常疯测-003】PHP 序列化和 JSON 哪个更好?

有了 Swoole 以后,用我们熟悉的 PHP 就可以很方便地开发网络通信应用。有时候我们系统内部需要交换数据,那么,这时候问题来了,网络通讯的数据格式是选择 JSON 还是 serialize 呢? 一通分...

宇润
10分钟前
1
0
mybatis批量操作sql配置

在写批量sql操作时,遇到执行报错: <foreach collection="list" item="item" index="index" separator=";"> update t_xxx set column1=#{item.column1} where id= #{item.id} </foreach> 分......

lar555
22分钟前
2
0
L2TP VPN客户端配置

打开网络设置-->选择VPN-->添加VPN链接 配置完毕,打开更改适配器选项 右键-->属性 选中安全---允许使用安全协议,确定保存后连接vpn即可

阿伦哥-
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部