İngilizce dilinde oku

Aracılığıyla paylaş


FileSystemWatcher.EnableRaisingEvents Özellik

Tanım

Bileşenin etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar.

C#
public bool EnableRaisingEvents { get; set; }
C#
[System.IO.IODescription("FSW_Enabled")]
public bool EnableRaisingEvents { get; set; }

Özellik Değeri

true bileşen etkinse; aksi takdirde , false. Varsayılan değer: false. Visual Studio 2005'te bir tasarımcıda bileşeni kullanıyorsanız varsayılan değer olur true.

Öznitelikler

Özel durumlar

Geçerli işletim sistemi Microsoft Windows NT veya üzeri değildir.

içinde Path belirtilen dizin bulunamadı.

Path ayarlanmadı veya geçersiz.

Örnekler

Aşağıdaki örnek, çalışma zamanında belirtilen dizini watch için bir FileSystemWatcher oluşturur. Bileşen, ve LastAccess zamanındaki değişiklikler, dizindeki LastWrite metin dosyalarının oluşturulması, silinmesi veya yeniden adlandırılması için watch olarak ayarlanır. Bir dosya değiştirilir, oluşturulur veya silinirse, dosyanın yolu konsola yazdırılır. Bir dosya yeniden adlandırıldığında, eski ve yeni yollar konsola yazdırılır.

C#
using System;
using System.IO;

namespace MyNamespace
{
    class MyClassCS
    {
        static void Main()
        {
            using var watcher = new FileSystemWatcher(@"C:\path\to\folder");

            watcher.NotifyFilter = NotifyFilters.Attributes
                                 | NotifyFilters.CreationTime
                                 | NotifyFilters.DirectoryName
                                 | NotifyFilters.FileName
                                 | NotifyFilters.LastAccess
                                 | NotifyFilters.LastWrite
                                 | NotifyFilters.Security
                                 | NotifyFilters.Size;

            watcher.Changed += OnChanged;
            watcher.Created += OnCreated;
            watcher.Deleted += OnDeleted;
            watcher.Renamed += OnRenamed;
            watcher.Error += OnError;

            watcher.Filter = "*.txt";
            watcher.IncludeSubdirectories = true;
            watcher.EnableRaisingEvents = true;

            Console.WriteLine("Press enter to exit.");
            Console.ReadLine();
        }

        private static void OnChanged(object sender, FileSystemEventArgs e)
        {
            if (e.ChangeType != WatcherChangeTypes.Changed)
            {
                return;
            }
            Console.WriteLine($"Changed: {e.FullPath}");
        }

        private static void OnCreated(object sender, FileSystemEventArgs e)
        {
            string value = $"Created: {e.FullPath}";
            Console.WriteLine(value);
        }

        private static void OnDeleted(object sender, FileSystemEventArgs e) =>
            Console.WriteLine($"Deleted: {e.FullPath}");

        private static void OnRenamed(object sender, RenamedEventArgs e)
        {
            Console.WriteLine($"Renamed:");
            Console.WriteLine($"    Old: {e.OldFullPath}");
            Console.WriteLine($"    New: {e.FullPath}");
        }

        private static void OnError(object sender, ErrorEventArgs e) =>
            PrintException(e.GetException());

        private static void PrintException(Exception? ex)
        {
            if (ex != null)
            {
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine("Stacktrace:");
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine();
                PrintException(ex.InnerException);
            }
        }
    }
}

Açıklamalar

olarak ayarlamadığınız EnableRaisingEventstruesürece bileşen olayları tetiklemeyecektir.

Not

Özellik ayarlanana ve EnableRaisingEventstruedeğerine sahip olana kadar Path bileşen belirtilen dizini watch.

yöntemi, WaitForChanged bu özellik olarak ayarlansa bile dosya değişikliklerine yanıt vermek için olay işleyicilerinin çağrılmasını falsesağlar.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1