Udostępnij za pośrednictwem


FileSystemInfo.Attributes Właściwość

Definicja

Pobiera lub ustawia atrybuty bieżącego pliku lub katalogu.

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

Wartość właściwości

FileAttributes bieżącego FileSystemInfo.

Wyjątki

Określony plik nie istnieje. Zgłaszany tylko podczas ustawiania wartości właściwości.

Określona ścieżka jest nieprawidłowa. Na przykład znajduje się na niezamapowanym dysku. Zgłaszany tylko podczas ustawiania wartości właściwości.

Obiekt wywołujący nie ma wymaganych uprawnień.

Tylko platformy .NET Core i .NET 5+: użytkownik próbuje ustawić wartość atrybutu, ale nie ma uprawnień do zapisu.

Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.

Obiekt wywołujący próbuje ustawić nieprawidłowy atrybut pliku.

-lub-

tylko .NET Framework: użytkownik próbuje ustawić wartość atrybutu, ale nie ma uprawnień do zapisu.

Refresh() program nie może zainicjować danych.

Przykłady

W poniższym przykładzie przedstawiono Attributes właściwość . Ten przykład kodu jest częścią większego przykładu podanego FileSystemInfo dla klasy.

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

Uwagi

Wartość Attributes właściwości jest wstępnie buforowana, jeśli bieżące wystąpienie FileSystemInfo obiektu zostało zwrócone z dowolnej z następujących DirectoryInfo metod:

Wartość może być buforowana, gdy uzyskuje się dostęp do samej wartości lub innych FileSystemInfo właściwości. Aby uzyskać najnowszą wartość, wywołaj metodę Refresh .

Jeśli ścieżka nie istnieje w stanie ostatniej pamięci podręcznej, zwracana wartość to (FileAttributes)(-1). FileNotFoundException lub DirectoryNotFoundException może być zgłaszany tylko podczas ustawiania wartości.

Wartość tej właściwości jest kombinacją flag atrybutu archiwum, skompresowanego, katalogu, ukrytego, offline, tylko do odczytu, systemu i tymczasowego atrybutu pliku.

Po ustawieniu tej wartości użyj operatora bitowego OR (| w języku C# lub Or Visual Basic), aby zastosować więcej niż jedną wartość. Aby zachować wszystkie istniejące wartości we Attributes właściwości, dołącz wartość Attributes właściwości do przypisania. Na przykład:

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

Dotyczy

Zobacz też