FileSystemInfo.Attributes Proprietà

Definizione

Ottiene o imposta gli attributi per il file o la directory corrente.

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

Valore della proprietà

FileAttributes della classe FileSystemInfo corrente.

Eccezioni

Il file specificato non esiste. Viene generato solo quando si imposta il valore della proprietà.

Il percorso specificato non è valido. Ad esempio si trova in un'unità non mappata. Viene generato solo quando si imposta il valore della proprietà.

Il chiamante non dispone dell'autorizzazione richiesta.

Solo .NET Core e .NET 5+ : l'utente tenta di impostare un valore di attributo ma non dispone dell'autorizzazione di scrittura.

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.

Il chiamante tenta di impostare un attributo di file non valido.

-oppure-

Solo .NET Framework: Tentativi dell'utente di impostare un valore di attributo senza che sia disponibile l'autorizzazione di scrittura.

Refresh() non è in grado di inizializzare i dati.

Esempio

Nell'esempio seguente viene illustrata la Attributes proprietà . Questo esempio di codice fa parte di un esempio più grande fornito per la FileSystemInfo classe.

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

Commenti

Il valore della proprietà viene pre-memorizzato nella cache se l'istanza corrente dell'oggetto AttributesFileSystemInfo è stata restituita da uno dei metodi seguenti DirectoryInfo :

Il valore può essere memorizzato nella cache quando si accede al valore stesso o ad altre FileSystemInfo proprietà. Per ottenere il valore più recente, chiamare il Refresh metodo .

Se il percorso non esiste come dell'ultimo stato memorizzato nella cache, il valore restituito è (FileAttributes)(-1). FileNotFoundException oppure DirectoryNotFoundException può essere generata solo quando si imposta il valore.

Il valore di questa proprietà è una combinazione dei flag di attributi di file temporanei, compressi, compressi, directory, nascosti, offline, di sola lettura, di sistema e di attributi di file temporanei.

Quando si imposta questo valore, usare l'operatore OR bit per bit (| in C# o Or in Visual Basic) per applicare più di un valore. Per conservare tutti i valori esistenti nella Attributes proprietà, includere il valore della proprietà nell'assegnazione Attributes . Esempio:

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

Si applica a

Vedi anche