FileSystemInfo.Attributes Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví atributy pro aktuální soubor nebo adresář.
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
Hodnota vlastnosti
FileAttributes aktuálního FileSystemInfo.
Výjimky
Zadaný soubor neexistuje. Vyvolá se pouze při nastavení hodnoty vlastnosti.
Zadaná cesta je neplatná. Například je na nenamapované jednotce. Vyvolá se pouze při nastavení hodnoty vlastnosti.
Volající nemá požadované oprávnění.
Jenom .NET Core a .NET 5+: Uživatel se pokusí nastavit hodnotu atributu, ale nemá oprávnění k zápisu.
Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.
Volající se pokusí nastavit neplatný atribut souboru.
-nebo-
Pouze rozhraní .NET Framework: Uživatel se pokusí nastavit hodnotu atributu, ale nemá oprávnění k zápisu.
Refresh() aplikace nemůže inicializovat data.
Příklady
Následující příklad ukazuje Attributes vlastnost . Tento příklad kódu je součástí většího příkladu FileSystemInfo pro třídu .
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
Poznámky
Hodnota Attributes vlastnosti je předem uložena do mezipaměti, pokud byla aktuální instance objektu FileSystemInfo vrácena některou z následujících DirectoryInfo metod:
Hodnota může být uložena do mezipaměti při přístupu k samotné hodnotě nebo k jiným FileSystemInfo vlastnostem. Pokud chcete získat nejnovější hodnotu, zavolejte metodu Refresh .
Pokud cesta k poslednímu stavu v mezipaměti neexistuje, je (FileAttributes)(-1)
vrácená hodnota . FileNotFoundException nebo DirectoryNotFoundException může být vyvolán pouze při nastavení hodnoty.
Hodnota této vlastnosti je kombinací příznaků archivu, komprimované, adresáře, skrytého, offline, jen pro čtení, systémového a dočasného souboru.
Když nastavíte tuto hodnotu, použijte bitový operátor OR (|
v jazyce C# nebo Or
Visual Basic) k použití více než jedné hodnoty. Chcete-li zachovat všechny existující hodnoty ve Attributes vlastnosti, zahrňte hodnotu Attributes vlastnosti do přiřazení. Příklad:
exampleFile.Attributes = exampleFile.Attributes | FileAttributes.ReadOnly;