SafeHandle.IsInvalid プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスでオーバーライドされると、ハンドル値が無効かどうかを示す値を取得します。
public:
abstract property bool IsInvalid { bool get(); };
public abstract bool IsInvalid { get; }
member this.IsInvalid : bool
Public MustOverride ReadOnly Property IsInvalid As 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 1 つのハンドル値に対して同じ値を返します。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET