本文整理汇总了C#中System.IO.FileSystemWatcher.ChangedAsObservable方法的典型用法代码示例。如果您正苦于以下问题:C# FileSystemWatcher.ChangedAsObservable方法的具体用法?C# FileSystemWatcher.ChangedAsObservable怎么用?C# FileSystemWatcher.ChangedAsObservable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.IO.FileSystemWatcher
的用法示例。
在下文中一共展示了FileSystemWatcher.ChangedAsObservable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FileWatcher
public FileWatcher(string path, bool isDirectory)
{
string dirname;
string filename;
if (isDirectory)
{
dirname = path;
filename = string.Empty;
}
else
{
dirname = Path.GetDirectoryName(path) ?? string.Empty;
filename = Path.GetFileName(path) ?? string.Empty;
}
_watcher = new FileSystemWatcher(dirname, filename)
{
IncludeSubdirectories = isDirectory,
Filter = isDirectory ? "*.*" : string.Empty,
NotifyFilter =
NotifyFilters.FileName |
(isDirectory ? NotifyFilters.DirectoryName : 0) |
NotifyFilters.LastWrite
}.AddTo(_disposable);
Observable.Merge(
_watcher.CreatedAsObservable(),
_watcher.DeletedAsObservable(),
_watcher.ChangedAsObservable(),
_watcher.RenamedAsObservable())
.Throttle(TimeSpan.FromMilliseconds(500))
.Subscribe(e => FileUpdated?.Invoke(this, e))
.AddTo(_disposable);
}