【问题标题】:C# Can FileSystemWatcher fire if the watched directory isn't empty on startup?如果监视的目录在启动时不为空,C# FileSystemWatcher 可以触发吗?
【发布时间】:2013-01-30 11:12:04
【问题描述】:

基本上,我有这个程序可以检查目录中的更改,如果有任何东西被复制或创建到所述目录中,就会发生一些事情。这工作正常。 但是如果程序启动时监视的目录不为空,我希望代码触发,这可能吗?如果有,怎么做?

【问题讨论】:

    标签: c# directory filesystemwatcher


    【解决方案1】:

    检查一下自己:

    if (Directory.GetFiles(yourPath).Length != 0)
    {
        //trigger your action
    }
    //else?
    //set up the FileSystemWatcher
    

    【讨论】:

    • 听起来不错,但我有多个观察者,这意味着我必须为每个观察者创建一个 if 语句,并且基本上将观察者代码复制粘贴到那里,对吗?有没有办法在不将我的所有代码加倍的情况下做到这一点?或者有没有办法手动触发 FileSystemWatcher?
    • @ChristopherSirén 是的,只需调用FileSystemWatcher 触发的方法即可。
    • 这里是这样的场景:在程序启动时,正在观看的目录已经有一些项目。这些项目也必须“处理”。由于不会触发目录更改事件,所以我想我会手动进行
    • @Marci-man 诀窍是在单独的方法中完成处理,您可以手动检查和 FileSystemWatcher 调用。
    猜你喜欢
    • 2015-06-18
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多