Sdílet prostřednictvím


FileSystemInfo.Attributes Vlastnost

Definice

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;

Platí pro

Viz také