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à

Boolean

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ù esaustivo 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 IsInvalid implementare la 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 ulteriormente derivate per tipi di handle sicuri specifici.

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

Si applica a