文档章节

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

 木宛城主
发布于 2015/03/02 19:41
字数 171
阅读 3
收藏 0
点赞 0
评论 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中的委托与事件,这次是对前面的知识的进一步加深学习。首先回答一下前面各位提及到的问题。 答:多数情况下委托封装方法都...

长平狐 ⋅ 2012/06/11 ⋅ 0

C#中的委托和事件(续)

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

冰点沐雪 ⋅ 2012/07/22 ⋅ 0

不忘本系列~目录

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

mcy247 ⋅ 2017/12/05 ⋅ 0

gradle and studio

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

掘金官方 ⋅ 2017/12/29 ⋅ 0

iOS- 应用程序对象UIApplication

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

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

IOS 启动顺序和 UIApplication sharedApplication 使用

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

Jack088 ⋅ 2015/12/31 ⋅ 0

为什么委托的减法(- 或 -=)可能出现非预期的结果?(Delegate Subtraction Has Unpredictable Result)

当我们为一个委托写 的时候,ReSharper 会提示“Delegate Subtraction Has Unpredictable Result”,即“委托的减法可能出现非预期的结果”。然而在写为事件写 的时候却并没有这样的提示。然...

WPwalter ⋅ 2017/12/30 ⋅ 0

.NET 中的委托

1.1.1 定义 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示: //Code i...

长平狐 ⋅ 2012/06/11 ⋅ 0

Asp.net控件开发学习笔记(八)----服务器控件事件

事件和委托之间的暧昧关系往往是大多Web Developer在学习.net中的一个里程碑,当明白事件和委托的关系后,.net水平往往就上了一个新的台阶.下面说到服务器控件的事件模型. 在任何一个服务器编...

范大脚脚 ⋅ 2017/12/13 ⋅ 0

IOS UIApplication的核心作用

UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。 iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示: int UIApplicationMain ...

_pioneer_ ⋅ 2016/01/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 57分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 今天 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 今天 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 今天 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部