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