一 类的定义 class MyFileSystemWatch ...{ 定义方法#region 定义方法 public void CreateFile(string fileName) ...{ MyFileSystemEventArgs e = new MyFileSystemEventArgs(fileName, MyChangeType.Create); FileCreated.Invoke(this, e); Console.WriteLine("{0} is create at {1}", fileName, DateTime.Now); } public void ModifyFile(string fileName) ...{ MyFileSystemEventArgs e = new MyFileSystemEventArgs(fileName, MyChangeType.Modify); FileModifyed.Invoke(this, e); Console.WriteLine("{0} is Modify at {1}", fileName, DateTime.Now); } public void DeleteFile(string fileName) ...{ MyFileSystemEventArgs e = new MyFileSystemEventArgs(fileName, MyChangeType.Delete); FileDeleted.Invoke(this, e); Console.WriteLine("{0} is Delete at {1}", fileName, DateTime.Now); } public void RenameFile(string fileName, string newFilename) ...{ MyReNameEventArgs e = new MyReNameEventArgs(fileName, newFilename, MyChangeType.Delete); FileRenamed.Invoke(this, e); Console.WriteLine("{0} is rename to {1} at {2}", fileName, newFilename, DateTime.Now); } #endregion 定义事件#region 定义事件 public event MyFileSystemEventHandler FileCreated; public event MyFileSystemEventHandler FileModifyed; public event MyFileSystemEventHandler FileDeleted; public event MyRenameEventHandler FileRenamed; #endregion } public delegate void MyFileSystemEventHandler(object sender, MyFileSystemEventArgs e); public delegate void MyRenameEventHandler(object sender, MyReNameEventArgs e); 构造事件的参数#region 构造事件的参数 public class MyReNameEventArgs : EventArgs ...{ public string FileName; public string NewFilNname; public MyChangeType ChangeType; public MyReNameEventArgs(string fileName, string newFileName, MyChangeType myChangeType) ...{ this.FileName = fileName; this.NewFilNname = newFileName; this.ChangeType = myChangeType; } } public class MyFileSystemEventArgs : EventArgs ...{ public string FileName; public MyChangeType ChangeType; public MyFileSystemEventArgs(string fileName, MyChangeType myChangeType) ...{ this.FileName = fileName; this.ChangeType = myChangeType; } } [Flags] public enum MyChangeType ...{ Create = 1, Modify = 2, Delete = 4, ReName = 8 } #endregion 二 类的使用 class Program ...{ static void Main(string[] args) ...{ MyFileSystemWatch mfsw = new MyFileSystemWatch(); mfsw.FileCreated+=CreateFile; mfsw.FileModifyed += ModifyFile; mfsw.FileDeleted += DeleteFile; mfsw.FileRenamed += RenameFile; while (true) ...{ string read = Console.ReadLine(); if (read == null || read == "") break; string[] cmd=read.Split(new char[]...{}); switch (cmd[0]) ...{ case "Create": mfsw.CreateFile(cmd[1]); break; case "Modify": mfsw.ModifyFile(cmd[1]); break; case "Delete": mfsw.DeleteFile(cmd[1]); break; case "Rename": mfsw.RenameFile(cmd[1],cmd[2]); break; default: Console.WriteLine("输入无效"); break; } } } public static void CreateFile(object sender, MyFileSystemEventArgs e) ...{ Console.WriteLine("create"); } public static void ModifyFile(object sender, MyFileSystemEventArgs e) ...{ Console.WriteLine("Modify"); } public static void DeleteFile(object sender, MyFileSystemEventArgs e) ...{ Console.WriteLine("Delete"); } public static void RenameFile(object sender, MyReNameEventArgs e) ...{ Console.WriteLine("Rename"); } }