SafeHandle.IsInvalid 属性

定义

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

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

属性值

Boolean

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

示例

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

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

注解

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

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

适用于