Condividi tramite


SafeHandle.IsInvalid Proprietà

Definizione

Quando ne viene eseguito l'override in una classe derivata, consente di ottenere un valore che indica se il valore dell'handle non è valido.

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

Valore della proprietà

true se il valore dell'handle non è valido; in caso contrario, false.

Esempio

Nell'esempio seguente viene verificato se un file è stato aperto correttamente. Questo esempio di codice fa parte di un esempio più ampio fornito per la SafeHandle classe .

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

Commenti

Le classi derivate devono implementare la IsInvalid proprietà in modo che Common Language Runtime possa determinare se è necessaria la finalizzazione critica. Le classi derivate devono fornire un'implementazione adatta al tipo generale di handle supportato (0 o -1 non è valido). Queste classi possono quindi essere derivate ulteriormente per tipi handle sicuri specifici.

A differenza della IsClosed proprietà , che indica se l'oggetto SafeHandle è terminato utilizzando l'handle sottostante, la IsInvalid proprietà calcola se il valore handle specificato è sempre considerato non valido. Pertanto, la IsInvalid proprietà restituisce sempre lo stesso valore per qualsiasi valore handle.

Si applica a