Теперь методы 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 |