zoukankan      html  css  js  c++  java
  • c#事件实例三

    c#事件实例三

    监视test.txt 文件的状态滴呀!

     直接上代码;

    using System;
    using System.Threading;
    using System.IO;
    namespace EventLearn003
    {
        public delegate void FileWatchHanlder(Object sender,EventArgs e);
    
        //这个,相当于事件的发生了;
       public class FileWatch
        {
           private bool _bLastStatus = false;
           public event FileWatchHanlder FileWatching;
           public FileWatch()
           {
               //这个大概就是我们的基本的代码滴啦;
               //然后我们把他生成dll 然后 在别的项目中别引用滴呀;
           }
    
           protected virtual void OnFileChange(EventArgs e)
           {
               if (FileWatching != null)
               {
                   //需要触发事件的地方 调用delegate的方式写触发方法,一般为protected 类型的 虚方法;
                   FileWatching(this,e); 
                   //调用事件;
               }
           }
    
           public void MonitorFile()
           {
               bool bCurrentStatus;
               while (true)
               {
                   bCurrentStatus = File.Exists("test.txt");
    
                   if (bCurrentStatus != _bLastStatus)
                   {
                       _bLastStatus = bCurrentStatus;
                       OnFileChange(EventArgs.Empty);
                   }
                   Thread.Sleep(260);
               }
           }
    
        }
    }

    事件接受类:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using EventLearn003;
    
    namespace EventLearn003
    {
        class Program
        {
            public static void en(Object sender, EventArgs e)
            {
                Console.WriteLine("状态呗改变了...");
            }
            static void Main(string[] args)
            {
    
                //事件的接受类滴呀;
                FileWatch help = new FileWatch();
                help.FileWatching += en;
    
                help.MonitorFile();
    
                //这个大概就是 我们事件滴使用了滴把;
                //把我们的观察着,设计 模式 看懂了,那么 就算是明白了一点点了滴呀;
    
    
            }
        }
    }

    好了,我们事件讲解就算是到一段落了滴呀;

  • 相关阅读:
    数据库语句
    Java类和数据结构中常用的方法
    java知识点
    JVM相关知识
    Java实现三种常用的查找算法(顺序查查找,折半查找,二叉排序树查找)
    SharedPreference作用及数据操作模式
    Java实现7种常见的排序算法
    钱多多软件制作03
    钱多多软件制作02
    钱多多软件制作01
  • 原文地址:https://www.cnblogs.com/mc67/p/5076163.html
Copyright © 2011-2022 走看看