Поделиться через


FileSystemInfo.Attributes Свойство

Определение

Возвращает или задает атрибуты текущего файла или каталога.

public:
 property System::IO::FileAttributes Attributes { System::IO::FileAttributes get(); void set(System::IO::FileAttributes value); };
public System.IO.FileAttributes Attributes { get; set; }
member this.Attributes : System.IO.FileAttributes with get, set
Public Property Attributes As FileAttributes

Значение свойства

FileAttributes текущего FileSystemInfo.

Исключения

Указанный файл не существует. Возникает только при задании значения свойства.

Указанный путь недопустим. Например, он находится на несопоставленном диске. Возникает только при задании значения свойства.

Вызывающий объект не имеет требуемого разрешения.

Только .NET Core и .NET 5+ — пользователь пытается задать значение атрибута, но не имеет разрешения на запись.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Вызывающий объект пытается задать недопустимый атрибут файла.

–или–

Только .NET Framework: пользователь пытается задать значение атрибута, но не имеет разрешения на запись.

Refresh() не может инициализировать данные.

Примеры

В следующем примере показано Attributes свойство. Этот пример кода является частью более крупного примера, предоставленного для FileSystemInfo класса.

static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi)
{
    //  Assume that this entry is a file.
    string entryType = "File";

    // Determine if entry is really a directory
    if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory )
    {
        entryType = "Directory";
    }
    //  Show this entry's type, name, and creation date.
    Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime);
}
Sub DisplayFileSystemInfoAttributes(ByVal fsi As IO.FileSystemInfo)
    ' Assume that this entry is a file.
    Dim entryType As String = "File"

    ' Determine if this entry is really a directory.
    If (fsi.Attributes And FileAttributes.Directory) = FileAttributes.Directory Then
        entryType = "Directory"
    End If

    ' Show this entry's type, name, and creation date.
    Console.WriteLine("{0} entry {1} was created on {2:D}", _
        entryType, fsi.FullName, fsi.CreationTime)
End Sub

Комментарии

Значение Attributes свойства предварительно кэшируется, если текущий экземпляр FileSystemInfo объекта был возвращен из любого из следующих DirectoryInfo методов:

Значение может кэшироваться при доступе к самому значению или другим FileSystemInfo свойствам. Чтобы получить последнее значение, вызовите Refresh метод.

Если путь не существует в качестве последнего кэшированного состояния, возвращается (FileAttributes)(-1)значение. FileNotFoundException или DirectoryNotFoundException можно создавать только при задании значения.

Значение этого свойства — это сочетание флагов архива, сжатия, каталога, скрытого, автономного, только для чтения, системного и временного атрибута файла.

При установке этого значения используйте побитовый оператор OR (| в C# или Or Visual Basic), чтобы применить несколько значений. Чтобы сохранить все существующие значения в свойстве Attributes , включите значение Attributes свойства в назначение. Рассмотрим пример.

exampleFile.Attributes = exampleFile.Attributes | FileAttributes.ReadOnly;

Применяется к

См. также раздел