Теперь свойства WinForms вызывают исключение ArgumentOutOfRangeException

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

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

Ранее эти свойства вызывали различные исключения, такие как NullReferenceException, IndexOutOfRangeException или ArgumentException при передаче аргументов вне диапазона. Начиная с .NET 5 эти свойства вызывают ArgumentOutOfRangeException при передаче аргументов, которые выходят за пределы диапазона.

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

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

.NET 5.0

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

Затронутые API

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

Свойство Наименование параметра Добавлено в версии
ListBox.IntegerCollection.Item[Int32] index 5.0, предварительная версия 5
TreeNode.ImageIndex value 5.0, предварительная версия 6
TreeNode.SelectedImageIndex value 5.0, предварительная версия 6