FileSystemInfo.Attributes Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define os atributos para o arquivo ou diretório atual.
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
Valor da propriedade
O FileAttributes do FileSystemInfo atual.
Exceções
O arquivo especificado não existe. Lançada somente ao definir o valor da propriedade.
O caminho especificado é inválido. Por exemplo, está em uma unidade não mapeada. Lançada somente ao definir o valor da propriedade.
O chamador não tem a permissão necessária.
Somente .NET Core e .NET 5+: o usuário tenta definir um valor de atributo, mas não tem permissão de gravação.
O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.
O chamador tenta definir um atributo de arquivo inválido.
- ou -
Somente .NET Framework: O usuário tenta definir um valor de atributo, mas não tem uma permissão de gravação.
Refresh() não pode inicializar os dados.
Exemplos
O exemplo a seguir demonstra a Attributes propriedade . Este exemplo de código faz parte de um exemplo maior fornecido para a 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
Comentários
O valor da Attributes propriedade será pré-armazenado em cache se a instância atual do FileSystemInfo objeto tiver sido retornada de qualquer um dos seguintes DirectoryInfo métodos:
O valor pode ser armazenado em cache quando o próprio valor ou outras FileSystemInfo propriedades são acessadas. Para obter o valor mais recente, chame o Refresh método .
Se o caminho não existir a partir do último estado armazenado em cache, o valor retornado será (FileAttributes)(-1)
. FileNotFoundException ou DirectoryNotFoundException só pode ser gerada ao definir o valor.
O valor dessa propriedade é uma combinação dos sinalizadores de atributo de arquivo morto, compactado, diretório, oculto, offline, somente leitura, sistema e arquivos temporários.
Ao definir esse valor, use o operador OR bit a bit (|
em C# ou Or
no Visual Basic) para aplicar mais de um valor. Para reter quaisquer valores existentes na Attributes propriedade , inclua o valor da Attributes propriedade em sua atribuição. Por exemplo:
exampleFile.Attributes = exampleFile.Attributes | FileAttributes.ReadOnly;