Freigeben über


SafeHandle.IsInvalid-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob dieses Handle ungültig ist.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

public abstract bool IsInvalid { get; }
public:
property bool IsInvalid {
    virtual bool get() abstract;
}
abstract IsInvalid : bool with get
Public MustOverride ReadOnly Property IsInvalid As Boolean

Eigenschaftswert

Type: System.Boolean

true, wenn der Handlewert ungültig ist, andernfalls false.

Hinweise

Müssen abgeleitete Klassen implementieren die IsInvalid Eigenschaft, damit die common Language Runtime ermitteln kann, ob kritische Finalisierung erforderlich ist. Abgeleitete Klassen müssen eine Implementierung, die den allgemeinen Typ von Handle passt sie unterstützen bereitstellen (0 oder-1 ist ungültig). Diese Klassen können anschließend für spezielle sichere Handletypen weiter abgeleitet werden.

Im Gegensatz zu der IsClosed -Eigenschaft, die Berichte, ob die SafeHandle das zugrunde liegende Handle, das Objekt wurden die IsInvalid -Eigenschaft berechnet, ob der angegebene Handlewert immer als ungültig angesehen wird. Aus diesem Grund die IsInvalid Eigenschaft gibt immer den gleichen Wert für einen einzelnen Handlewert zurück.

Beispiele

Im folgende Beispiel wird überprüft, ob eine Datei erfolgreich geöffnet wurde. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die SafeHandle Klasse.

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

Sicherheit

SecurityPermission

for permission to call unmanaged code. Security action: F:System.Security.Permissions.SecurityAction.LinkDemand. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Siehe auch

SafeHandle-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang