Lire en anglais

Partager via


NotifyFilters Énumération

Définition

Définit les modifications à observer dans un fichier ou dans un dossier.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

C#
[System.Flags]
public enum NotifyFilters
Héritage
NotifyFilters
Attributs

Champs

Nom Valeur Description
Attributes 4

Attributs du fichier ou du dossier.

CreationTime 64

Heure de création du fichier ou du dossier.

DirectoryName 2

Nom du répertoire.

FileName 1

Nom du fichier.

LastAccess 32

Date à laquelle le fichier ou le dossier a été ouvert pour la dernière fois.

LastWrite 16

Date de la dernière écriture dans le fichier ou le dossier.

Security 256

Paramètres de sécurité du fichier ou du dossier.

Size 8

Taille du fichier ou du dossier.

Exemples

L’exemple suivant crée un FileSystemWatcher pour watch le répertoire spécifié lors de l’exécution. Le composant est défini sur watch pour toute modification de l’heure LastWrite et LastAccess, de la création, de la suppression ou du changement de nom des fichiers texte dans le répertoire. Si un fichier est modifié, créé ou supprimé, le chemin d’accès au fichier s’affiche dans la console. Lorsqu’un fichier est renommé, l’ancien et le nouveau chemin d’accès s’impriment sur la console.

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

Remarques

Vous pouvez combiner les membres de cette énumération pour watch pour plusieurs types de modifications. Par exemple, vous pouvez watch pour les modifications apportées à la taille d’un fichier ou d’un dossier et pour les modifications apportées aux paramètres de sécurité. Cela déclenche un événement chaque fois qu’un changement de taille ou de paramètres de sécurité d’un fichier ou d’un dossier est modifié.

S’applique à

Produit Versions
.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

Voir aussi