Metody WinForms zgłaszają teraz wyjątek ArgumentNullException

Niektóre metody windows Forms teraz zgłaszają ArgumentNullException argumenty o wartości null, gdzie wcześniej rzuciły wartość NullReferenceException.

Opis zmiany

Wcześniej niektóre metody windows Forms zwróciły NullReferenceException wartość , jeśli przekazano argument o wartości null. Począwszy od platformy .NET 5, te metody teraz zgłaszają ArgumentNullException argumenty o wartości null.

Zgłaszanie obiektu ArgumentNullException jest zgodne z zachowaniem środowiska uruchomieniowego platformy .NET. Poprawia również środowisko debugowania, wyraźnie komunikując, że argument ma wartość null i który argument jest.

Wprowadzona wersja

.NET 5.0

Jeśli wywołasz dowolną z tych metod, a kod obecnie przechwytuje NullReferenceException argumenty o wartości null, przechwyć zamiast tego ArgumentNullException . Ponadto rozważ zaktualizowanie kodu, aby zapobiec przekazaniu argumentów null do wymienionych metod.

Dotyczy interfejsów API

W poniższej tabeli wymieniono metody i parametry, których dotyczy problem:

Method Nazwa parametru Dodano wersję
Control.ControlCollection(Control) owner Wersja zapoznawcza 1
TabControl.GetToolTipText(Object) item Wersja zapoznawcza 1
TableLayoutControlCollection(TableLayoutPanel) container Wersja zapoznawcza 1
ToolStripRenderer.OnRenderArrow(ToolStripArrowRenderEventArgs) e Wersja zapoznawcza 1
ToolStripRenderer.OnRenderItemCheck(ToolStripItemImageRenderEventArgs) e Wersja zapoznawcza 1
ToolStripRenderer.OnRenderItemImage(ToolStripItemImageRenderEventArgs) e Wersja zapoznawcza 1
ToolStripRenderer.OnRenderItemText(ToolStripItemTextRenderEventArgs) e Wersja zapoznawcza 1
ToolStripRenderer.OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs) > e Wersja zapoznawcza 1
DataGridViewComboBoxEditingControl.ApplyCellStyleToEditingControl(DataGridViewCellStyle) dataGridViewCellStyle Preview 2
RichTextBox.LoadFile(Stream, RichTextBoxStreamType) data Preview 2
ListBox.IntegerCollection(ListBox) owner Wersja zapoznawcza 5
ListBox.IntegerCollection.CopyTo(Array, Int32) destination Wersja zapoznawcza 5
ListViewGroup.ISerializable.GetObjectData(SerializationInfo, StreamingContext) info Wersja zapoznawcza 5
VisualStyleRenderer(String, Int32, Int32) className Wersja zapoznawcza 5
ListBox.ObjectCollection(ListBox) owner Wersja zapoznawcza 6
ListBox.ObjectCollection(ListBox, Object[]) owner, value Wersja zapoznawcza 6
ListBox.ObjectCollection(ListBox, ListBox+ObjectCollection) owner, value Wersja zapoznawcza 6
ListBox.ObjectCollection.AddRange(Object[]) items Wersja zapoznawcza 6
ListBox.ObjectCollection.AddRange(ListBox+ObjectCollection) value Wersja zapoznawcza 6
ListBox.ObjectCollection.CopyTo(Object[], Int32) destination Wersja zapoznawcza 6
ListBox.ObjectCollection.ICollection.CopyTo(Array, Int32) destination Wersja zapoznawcza 6
ListView.SelectedIndexCollection(ListView) owner Wersja zapoznawcza 7
TreeNodeCollection.Find(String, Boolean) key jest lub null jest pusta Wersja zapoznawcza 8
ListView.ListViewItemCollection.Find(String, Boolean) key jest lub null jest pusta RC1
ScrollableControl.OnPaintBackground(PaintEventArgs) e RC1