[我的意思是使用下面的语句,在我的类的构造函数中,我使用FileSystemWatcher
实例,在这样的类构造函数中使用using
语句是否有意义,还是必须在没有using
语句的构造函数中使用它?] >
public partial class MyService : ServiceBase
{
FileInfo file;
StreamWriter writer;
FileSystemWatcher watcher1;
FileSystemWatcher watcher2;
FileSystemWatcher watcher3;
public MyService()
{
InitializeComponent();
file = new FileInfo(@"D:\LOGS\Log.txt");
writer = file.CreateText();
//I mean this using
using (watcher1 = new FileSystemWatcher(@"C:\"))
{
watcher1.Created += OnChanged;
watcher1.Deleted += OnChanged;
watcher1.Renamed += OnRenamed;
watcher1.Changed += OnChanged;
watcher1.EnableRaisingEvents = true;
}
//I mean this using
using (watcher3 = new FileSystemWatcher(@"C:\Users"))
{
watcher3.IncludeSubdirectories = true;
watcher3.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite |
NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher3.Created += OnChanged;
watcher3.Deleted += OnChanged;
watcher3.Renamed += OnRenamed;
watcher3.Changed += OnChanged;
watcher3.Filter = "*.*";
watcher3.EnableRaisingEvents = true;
}
//I mean this using
using (watcher2 = new FileSystemWatcher(@"D:\"))
{
watcher2.IncludeSubdirectories = true;
watcher2.Created += OnChanged;
watcher2.Deleted += OnChanged;
watcher2.Renamed += OnRenamed;
watcher2.Changed += OnChanged;
watcher2.EnableRaisingEvents = true;
}
}
[我的意思是使用下面的语句,在我的类的构造函数中,我使用FileSystemWatcher实例,在这样的类构造器中使用using语句是否有意义,否则它必须是...
在运行服务时,应保持所有此FileSysteWatcher实例处于未处置状态。但是,在处理服务时,您还应该处理所有资源。因此,最好的解决方案是通过您的服务实现IDisposable
并以Dispose
方法处理所有资源。
Sergeys的回答已经很好,我只想补充一些理论。
您的意思是这样的?