惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Securelist
D
Docker
The Register - Security
The Register - Security
GbyAI
GbyAI
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
罗磊的独立博客
博客园 - 【当耐特】
F
Full Disclosure
WordPress大学
WordPress大学
腾讯CDC
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
SecWiki News
SecWiki News
L
Lohrmann on Cybersecurity
I
InfoQ
MyScale Blog
MyScale Blog
量子位
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
The Hacker News
The Hacker News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园_首页
H
Help Net Security
K
Kaspersky official blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
The Cloudflare Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
爱范儿
爱范儿
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

博客园 - 言午

Nopcommerce 二次开发2 Admin Nopcommerce 二次开发1 基础 Nopcommerce 二次开发2 WEB Nopcommerce 二次开发0 sqlce中不支持sp_rename修改表名 C#读取Excel遇到无法读取的解决方法 狼奔代码生成器 银行账户类 累 interface 抽象类 抽象方法 Message 类的继承 多态(虚方法) 委托 代理 索引! 第五周作业 第四周作业 考试! 线程安全 二 线程安全 一
事件event
言午 · 2012-04-11 · via 博客园 - 言午

委托,是事件基础

类的对象,发出消息,在运行时绑定处理方法。

以下,以animal为例,体温过高时,触发事件

1 先定一个个委托

delegate void MyDelegate();

2 在类中定义事件,并在某时刻触发。此例中在体温属性改变,大于37.5时触发。

    

class Animal
    {
        // 定义一个事件 体温过高  (先定义MyDelegate)
        public event MyDelegate highTemperature;
        float temperature;//体温

        public float Temperature
        {
            get { return temperature; }
            set
            {
                temperature = value; 
                //体温高时,触发事件。事件,一般在属性改变时触发
                if (temperature > 37.5)
                {
                    highTemperature();
                }
            }
        }      
    }

3 使用事件时,要将事件与处理事件的方法关联,然后改变属性触发事件。

定义一个方法,热了,就开空调

        

static void a_highTemperature()
        {
            Console.WriteLine("开空调");
        }

然后在main方法中写

            Animal a = new Animal();
            a.highTemperature += new MyDelegate(a_highTemperature); //事件 --- 处理方法
            a.Temperature = 37.6f;