Теперь методы WinForms вызывают исключение ArgumentException

Некоторые методы Windows Forms теперь вызывают ArgumentException для недопустимых аргументов в ситуациях, где ранее не делали этого.

Описание изменения

Ранее передача аргументов непредвиденного или неверного типа в определенные методы Windows Forms приводила к неопределенному состоянию. Начиная с .NET 5 эти методы теперь вызывают ArgumentException при передаче недопустимых аргументов.

Вызов ArgumentException соответствует поведению среды выполнения .NET. Это также улучшает процесс отладки, четко указывая, какой аргумент недопустим.

Представленные версии

.NET 5.0

  • Измените код, чтобы предотвратить передачу недопустимых аргументов.
  • При необходимости обработайте ArgumentException при вызове метода.

Затронутые API

В следующей таблице перечислены затронутые методы и параметры:

Способ Наименование параметра Condition Добавлено в версии
System.Windows.Forms.TabControl.GetToolTipText(Object) item Аргумент не является аргументом типа TabPage. Предварительная версия 1
System.Windows.Forms.DataFormats.GetFormat(String) format Аргумент содержит null, String.Empty или пробел. Preview 5
InputLanguageChangedEventArgs(CultureInfo, Byte) culture Не удается извлечь InputLanguage для заданных языка и региональных параметров. Предварительная версия 7