SafeHandle.IsInvalid 属性

定义

在派生类中重写时,获取一个值,该值指示句柄值是否无效。

C#
public abstract bool IsInvalid { get; }

属性值

如果句柄值无效,则为 true;否则为 false

示例

以下示例检查文件是否已成功打开。 此代码示例是为 SafeHandle 类提供的一个更大示例的一部分。

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

注解

派生类必须实现 IsInvalid 属性,以便公共语言运行时可以确定是否需要关键终结。 派生类必须提供适合它们支持的一般句柄类型的实现, (0 或 -1 无效) 。 然后,可以为特定的安全句柄类型进一步派生这些类。

IsClosed与 报告对象是否已SafeHandle使用基础句柄完成的属性不同,IsInvalid属性计算给定的句柄值是否始终被视为无效。 因此, IsInvalid 属性始终为任何一个句柄值返回相同的值。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0