WinForms 方法現在會擲回 ArgumentNullException

有些 Windows Forms 方法現在會因為引數是 null,而擲回 ArgumentNullException (先前是擲回 NullReferenceException)。

變更描述

先前,如果傳遞的引數為 null,某些 Windows Forms 方法會擲回 NullReferenceException。 從 .NET 5 開始,出現引數是 null 時,這些方法現在改為擲回 ArgumentNullException

擲回 ArgumentNullException 符合 .NET 執行階段的行為。 也藉由清楚傳達引數為 null 以及其為哪個引數,來改善偵錯體驗。

導入的版本

.NET 5.0

如果呼叫上述任一方法,而您的程式碼目前針對引數為 null 會攔截 NullReferenceException,請改為攔截 ArgumentNullException。 此外,請考慮更新程式碼,避免將 null 引數傳遞到列出的方法。

受影響的 API

下表列出受影響的方法及其參數:

方法 參數名稱 新增的版本
Control.ControlCollection(Control) owner Preview 1
TabControl.GetToolTipText(Object) item Preview 1
TableLayoutControlCollection(TableLayoutPanel) container Preview 1
ToolStripRenderer.OnRenderArrow(ToolStripArrowRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderItemCheck(ToolStripItemImageRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderItemImage(ToolStripItemImageRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderItemText(ToolStripItemTextRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs) > e Preview 1
DataGridViewComboBoxEditingControl.ApplyCellStyleToEditingControl(DataGridViewCellStyle) dataGridViewCellStyle Preview 2
RichTextBox.LoadFile(Stream, RichTextBoxStreamType) data Preview 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 Preview 6
ListBox.ObjectCollection(ListBox, Object[]) ownervalue Preview 6
ListBox.ObjectCollection(ListBox, ListBox+ObjectCollection) ownervalue Preview 6
ListBox.ObjectCollection.AddRange(Object[]) items Preview 6
ListBox.ObjectCollection.AddRange(ListBox+ObjectCollection) value Preview 6
ListBox.ObjectCollection.CopyTo(Object[], Int32) destination Preview 6
ListBox.ObjectCollection.ICollection.CopyTo(Array, Int32) destination Preview 6
ListView.SelectedIndexCollection(ListView) owner Preview 7
TreeNodeCollection.Find(String, Boolean) keynull 或空白 預覽版 8
ListView.ListViewItemCollection.Find(String, Boolean) keynull 或空白 RC1
ScrollableControl.OnPaintBackground(PaintEventArgs) e RC1