Partilhar via


SafeHandle.IsInvalid Propriedade

Definição

Quando substituído em uma classe derivada, obtém um valor que indica se o valor do identificador é inválido.

public:
 abstract property bool IsInvalid { bool get(); };
public abstract bool IsInvalid { get; }
member this.IsInvalid : bool
Public MustOverride ReadOnly Property IsInvalid As Boolean

Valor da propriedade

true se o valor do identificador for inválido; caso contrário, false.

Exemplos

O exemplo a seguir verifica se um arquivo foi aberto com êxito. Este exemplo de código faz parte de um exemplo maior fornecido para a SafeHandle classe.

// Determine if file is opened successfully.
if (_handle.IsInvalid)
    throw new Win32Exception(Marshal.GetLastWin32Error(), fileName);

Comentários

Classes derivadas devem implementar a IsInvalid propriedade para que o common language runtime possa determinar se a finalização crítica é necessária. As classes derivadas devem fornecer uma implementação que se adapte ao tipo geral de identificador que dão suporte (0 ou -1 é inválido). Essas classes podem ser derivadas ainda mais para tipos específicos de identificador seguro.

Ao contrário da IsClosed propriedade, que informa se o SafeHandle objeto terminou de usar o identificador subjacente, a IsInvalid propriedade calcula se o valor do identificador fornecido é sempre considerado inválido. Portanto, a IsInvalid propriedade sempre retorna o mesmo valor para qualquer valor de identificador.

Aplica-se a