Auf Englisch lesen

Teilen über


NotifyFilters Enumeration

Definition

Gibt die Änderungen an, die in einer Datei oder einem Ordner überwacht werden sollen.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

C#
[System.Flags]
public enum NotifyFilters
Vererbung
NotifyFilters
Attribute

Felder

Name Wert Beschreibung
Attributes 4

Die Attribute der Datei oder des Ordners.

CreationTime 64

Der Zeitpunkt der Erstellung der Datei oder des Ordners.

DirectoryName 2

Der Name des Verzeichnisses.

FileName 1

Der Name der Datei.

LastAccess 32

Das Datum des letzten Öffnens der Datei oder des Ordners.

LastWrite 16

Das Datum, an dem zuletzt in die Datei oder den Ordner geschrieben wurde.

Security 256

Die Sicherheitseinstellungen der Datei oder des Ordners.

Size 8

Die Größe der Datei oder des Ordners.

Beispiele

Im folgenden Beispiel wird ein FileSystemWatcher erstellt, um das zur Laufzeit angegebene Verzeichnis zu watch. Die Komponente ist auf watch für alle Änderungen in der LastWrite- und LastAccess-Zeit, das Erstellen, Löschen oder Umbenennen von Textdateien im Verzeichnis festgelegt. Wenn eine Datei geändert, erstellt oder gelöscht wird, wird der Pfad zur Datei in der Konsole ausgegeben. Wenn eine Datei umbenannt wird, werden die alten und neuen Pfade in der Konsole ausgegeben.

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);
            }
        }
    }
}

Hinweise

Sie können die Member dieser Enumeration kombinieren, um mehr als eine Art von Änderung zu watch. Sie können z. B. watch für Änderungen an der Größe einer Datei oder eines Ordners sowie für Änderungen in den Sicherheitseinstellungen. Dadurch wird ein Ereignis ausgelöst, wenn sich die Größe oder die Sicherheitseinstellungen einer Datei oder eines Ordners ändern.

Gilt für:

Produkt Versionen
.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

Weitere Informationen