如何在VB.NET中为文件系统观察器动态设置通知过滤器

时间:2014-07-25 19:29:23

标签: vb.net filter filesystemwatcher notify

我从数据库中提取值,指定用户是否选择了与文件系统观察程序关联的特定通知过滤器。我的问题是,如果用户指定了多个通知过滤器,如何将其分配给观察者?

我理解应该如何提供通知过滤器的格式I.E

fsw.NotifyFilter = NotifyFilters.FileName OR NotifyFilters.CreationTime OR ......

问题是我可以使用if语句将每个单独的通知过滤器分配给观察者,检查用户是否已指定某个通知过滤器并继续检查,但只是将通知过滤器设置为上次检查的值。

使用fsw.Notifyfilter += Notifyfilters.FileName不起作用

请帮助

1 个答案:

答案 0 :(得分:1)

好的,你想要这样的东西吗?

If condition Then
  fsw.NotifyFilter = (fsw.NotifyFilter Or NotifyFilters.FileName)
Else If condition2 Then
  fsw.NotifyFilter = (fsw.NotifyFilter Or NotifyFilters.CreationTime)
...
End If

这基本上相当于一次性完成所有操作,除了分为多个步骤。