一部の API によって ArgumentNullException がスローされる
一部の API で入力パラメーターが検証されるようになり、入力引数が null
で呼び出された場合、以前は NullReferenceException がスローされていたものが、ArgumentNullException がスローされるようになりました。
変更内容
以前のバージョンの .NET では、影響を受ける API を呼び出すときに引数を null
にすると、NullReferenceException がスローされます。
.NET 6 以降では、影響を受ける API を呼び出すときに引数を null
にすると、ArgumentNullException がスローされます。
カテゴリの変更
この変更はバイナリ互換性に影響を与えます。
変更理由
ArgumentNullException のスローは、.NET ランタイムの動作に準拠しています。 例外の原因になった引数が明確に伝わることにより、デバッグのエクスペリエンスが向上します。
導入されたバージョン
.NET 6
推奨アクション
- コードをレビューし、必要に応じて、影響を受ける API に
null
入力引数を渡さないように更新します。 - コードで NullReferenceException を処理している場合は、置き換えるか、ArgumentNullException 用のハンドラーを別に追加します。
影響を受ける API
次の表に、影響を受ける API と特定のパラメーターの一覧を示します。
メソッド/プロパティ | パラメーター名 |
---|---|
System.Windows.Forms.TreeNodeCollection.Item[Int32] | index |
DrawTreeNodeEventArgs(Graphics, TreeNode, Rectangle, TreeNodeStates) | graphics |
DataGridViewRowStateChangedEventArgs(DataGridViewRow, DataGridViewElementStates) | dataGridViewRow |
DataGridViewColumnStateChangedEventArgs(DataGridViewColumn, DataGridViewElementStates) | dataGridViewColumn |
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET