• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    .net自定义事件示例分享

    1、新建一个控制台应用程序TestDelegate,本项目主要实现:热水器加热,报警器监控,当热水温度达到80度的时候报警器报警这样一个简单的事件处理程序

    2、定义委托处理程序

    复制代码 代码如下:

    public delegate void PlayGameHandler(object sender, System.EventArgs e);

    3、添加一个报警器类,报警方法只有在温度超过80度的时候会被调用

    复制代码 代码如下:

    // 负责报警的人
        public class 报警器
        {
            public 报警器()
            {
                Console.WriteLine("生成报警器...");
            }
            public void 报警(object sender, EventArgs e)
            {
                System.Threading.Thread.Sleep(100);//休息0.1秒
                Console.WriteLine("滴滴。。。。温度超过80度...");
            }
        }

    4、添加一个热水器类,利用循环加热热水器,从一度增加到100度,当温度超过80度时候触发事件报警

    复制代码 代码如下:

    // 如果加热,则引发事件
        public class 热水器
        {
            // 先定义一个事件,这个事件表示“热水器”在加热。
            public event PlayGameHandler PlayGame;
            public 热水器()
            {
                Console.WriteLine("生成热水器....");
            }

            public void 加热()
            {
                Console.WriteLine("开始加热了.....");
                System.EventArgs e = new EventArgs();
                for (int i = 1; i 101;i++)//温度每增加一度调触发一次事件
                {
                    System.Threading.Thread.Sleep(100);//休息0.1秒
                    Console.WriteLine(i.ToString()+"度");
                    if (PlayGame != null)
                    {
                        if(i>=80)//当温度大于80度
                        PlayGame(this, e);//触发事件
                    }
                }

            }
        }

    5、客户端开始调用

    复制代码 代码如下:

    public class Program
        {
            //[STAThread]
            public static void Main(string[] args)
            {
                Console.WriteLine("场景开始了....");
                报警器 w = new 报警器();
                热水器 z = new 热水器();

                // 指定监视
                z.PlayGame += new PlayGameHandler(w.报警);
                System.Threading.Thread.Sleep(1000);
                // 开始加热
                z.加热();
                Console.WriteLine("场景结束...");
                Console.ReadLine();
            }

        }





    大家运行一下可以看到更多数据显示

    您可能感兴趣的文章:
    • .NET开发基础:从简单的例子理解泛型 分享
    • .net泛型通用函数的特殊问题的解决方法
    • 使用.NET中的Action及Func泛型委托深入剖析
    • .net使用自定义类属性实例
    • asp.net自定义控件中注册Javascript问题解决方案
    • asp.net自定义分页控件示例
    • 关于asp.net 自定义分页控件
    • ASP.Net巧用窗体母版页实例
    • .NET事件监听机制的局限与扩展分析
    • .NET基础之自定义泛型分析
    上一篇:NET 弹出页面窗口选择返回值
    下一篇:.net的socket异步通讯示例分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    .net自定义事件示例分享 .net,自定义,事件,示例,分享,