WinForms メソッドで ArgumentException がスローされるようになった

一部の Windows フォーム メソッドで、無効な引数に対して ArgumentException がスローされるようになりました。以前はスローされませんでした。

変更の説明

以前は、予期しない型または不適切な型の引数を特定の Windows フォーム メソッドに渡すと、不確定な状態になりました。 .NET 5 以降では、そのようなメソッドに無効な引数を渡すと、ArgumentException がスローされるようになりました。

ArgumentException をスローすることは、.NET ランタイムの動作に準拠しています。 また、どの引数が無効であるのかが明確に伝えられることで、デバッグ エクスペリエンスも向上します。

導入されたバージョン

.NET 5.0

  • 無効な引数を渡さないようにコードを更新します。
  • 必要に応じて、メソッドを呼び出したときの ArgumentException を処理します。

影響を受ける API

次の表では、影響を受けるメソッドとパラメーターを示します。

メソッド パラメーター名 条件 追加されたバージョン
System.Windows.Forms.TabControl.GetToolTipText(Object) item 引数が TabPage 型ではありません。 Preview 1
System.Windows.Forms.DataFormats.GetFormat(String) format 引数が nullString.Empty、または空白です。 Preview 5
InputLanguageChangedEventArgs(CultureInfo, Byte) culture 指定のカルチャに InputLanguage を取得できません。 Preview 7