WinForms-Methoden lösen jetzt ArgumentNullException aus

Einige Windows Forms-Methoden lösen nun eine ArgumentNullException-Ausnahme für NULL-Argumente aus, für die sie zuvor eine NullReferenceException-Ausnahme ausgelöst haben.

Änderungsbeschreibung

Zuvor haben bestimmte Windows Forms-Methoden eine NullReferenceException-Ausnahme ausgelöst, wenn ein Argument mit dem Wert NULL übergeben wurde. Ab .NET 5 lösen diese Methoden stattdessen eine ArgumentNullException-Ausnahme für NULL-Argumente aus.

Das Auslösen einer ArgumentNullException-Ausnahme entspricht dem Verhalten der .NET Runtime. Außerdem wird die Debugfunktion verbessert, indem ausdrücklich kommuniziert wird, dass ein Argument den Wert NULL aufweist und welches Argument betroffen ist.

Eingeführt in Version

.NET 5.0

Wenn Sie eine dieser Methoden aufrufen und Ihr Code NullReferenceException für NULL-Argumente abfängt, sollte stattdessen ArgumentNullException abgefangen werden. Außerdem sollten Sie ein Update für den Code in Betracht ziehen, um die Übergabe von NULL-Argumenten an die aufgeführten Methoden zu verhindern.

Betroffene APIs

In der folgenden Tabelle sind die betroffenen Methoden und Parameter aufgeführt:

Methode Parametername Hinzugefügte Version
Control.ControlCollection(Control) owner Vorschauversion 1
TabControl.GetToolTipText(Object) item Vorschauversion 1
TableLayoutControlCollection(TableLayoutPanel) container Vorschauversion 1
ToolStripRenderer.OnRenderArrow(ToolStripArrowRenderEventArgs) e Vorschauversion 1
ToolStripRenderer.OnRenderItemCheck(ToolStripItemImageRenderEventArgs) e Vorschauversion 1
ToolStripRenderer.OnRenderItemImage(ToolStripItemImageRenderEventArgs) e Vorschauversion 1
ToolStripRenderer.OnRenderItemText(ToolStripItemTextRenderEventArgs) e Vorschauversion 1
ToolStripRenderer.OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs) > e Vorschauversion 1
DataGridViewComboBoxEditingControl.ApplyCellStyleToEditingControl(DataGridViewCellStyle) dataGridViewCellStyle Vorschau 2
RichTextBox.LoadFile(Stream, RichTextBoxStreamType) data Vorschau 2
ListBox.IntegerCollection(ListBox) owner Preview 5
ListBox.IntegerCollection.CopyTo(Array, Int32) destination Preview 5
ListViewGroup.ISerializable.GetObjectData(SerializationInfo, StreamingContext) info Preview 5
VisualStyleRenderer(String, Int32, Int32) className Preview 5
ListBox.ObjectCollection(ListBox) owner Vorschau 6
ListBox.ObjectCollection(ListBox, Object[]) owner, value Vorschau 6
ListBox.ObjectCollection(ListBox, ListBox+ObjectCollection) owner, value Vorschau 6
ListBox.ObjectCollection.AddRange(Object[]) items Vorschau 6
ListBox.ObjectCollection.AddRange(ListBox+ObjectCollection) value Vorschau 6
ListBox.ObjectCollection.CopyTo(Object[], Int32) destination Vorschau 6
ListBox.ObjectCollection.ICollection.CopyTo(Array, Int32) destination Vorschau 6
ListView.SelectedIndexCollection(ListView) owner Preview 7
TreeNodeCollection.Find(String, Boolean) key hat den Wert null oder ist leer. Preview 8
ListView.ListViewItemCollection.Find(String, Boolean) key hat den Wert null oder ist leer. RC1
ScrollableControl.OnPaintBackground(PaintEventArgs) e RC1