代码之家  ›  专栏  ›  技术社区  ›  aleroot

向EventArgs添加属性

c#
  •  -1
  • aleroot  · 技术社区  · 14 年前

    我通过添加一个字符串属性(fileToTest)扩展了标准的fileSystemWatcher类,现在我还需要扩展fileSystemEventArgs来添加这个属性,我该怎么做呢?

    我的扩展文件系统监视程序:

        class AleFileSystemWatcher : FileSystemWatcher
    {
        public string fileToTest { get; set; } 
    }
    

    fileSystemEventArgs fileToTest属性应与alefileSystemWatcher fileToTest相同。

    我可以这样做吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Femaref    14 年前

    就个人而言,我不会扩展filesystemwatcher,而是将其作为类中的实例变量。您并不真正扩展FileSystemWatcher的主要功能,而是利用它的功能(例如,监听更改/创建的/任何文件,并将其与您要查找的文件相匹配)。

    public class SpecificFileWatcher
    {
      public string FileToTest { get; set; }
    
      private readonly FileSystemWatcher iWatcher;
    
    
      public class SpecificFileWatcher(FileSystemWatcher watcher)
      {
        iWatcher = watcher;
        iWatcher.Changed += iWatcher_Changed; //whatever event you need here
      }
    
      //eventhandler for watcher
      public ...
      {
        if(e.FileName == FileToTest)
          Console.WriteLine("file found");
      }
    }