SafeHandle.IsInvalid Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.