SafeHandle.IsInvalid 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.
Quando substituído em uma classe derivada, obtém um valor que indica se o valor de indicador é vá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
As 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 ao qual dão suporte (0 ou -1 é inválido). Essas classes podem ser derivadas ainda mais para tipos de identificador seguro específicos.
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.