Ler en inglés

Compartir por


NotifyFilters Enumeración

Definición

Especifica los cambios que se van a buscar en un archivo o una carpeta.

Esta enumeración admite una combinación bit a bit de sus valores de miembro.

C#
[System.Flags]
public enum NotifyFilters
Herencia
NotifyFilters
Atributos

Campos

Nombre Valor Description
Attributes 4

Atributos del archivo o la carpeta.

CreationTime 64

Hora en la que se creó el archivo o la carpeta.

DirectoryName 2

Nombre del directorio.

FileName 1

Nombre del archivo.

LastAccess 32

Fecha en la que se abrió el archivo o la carpeta por última vez.

LastWrite 16

Fecha en la que se escribió algo en el archivo o la carpeta por última vez.

Security 256

Configuración de seguridad del archivo o la carpeta.

Size 8

Tamaño del archivo o la carpeta.

Ejemplos

En el ejemplo siguiente se crea un FileSystemWatcher objeto para watch el directorio especificado en tiempo de ejecución. El componente se establece en watch para los cambios en la hora lastWrite y LastAccess, la creación, eliminación o cambio de nombre de los archivos de texto en el directorio. Si se cambia, crea o elimina un archivo, la ruta de acceso al archivo se imprime en la consola. Cuando se cambia el nombre de un archivo, las rutas de acceso antiguas y nuevas se imprimen en la consola.

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

Comentarios

Puede combinar los miembros de esta enumeración para watch para más de un tipo de cambio. Por ejemplo, puede watch para los cambios en el tamaño de un archivo o carpeta y para los cambios en la configuración de seguridad. Esto genera un evento cada vez que hay un cambio en la configuración de tamaño o seguridad de un archivo o carpeta.

Se aplica a

Produto Versións
.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

Consulte también