Udostępnij za pośrednictwem


Niektóre interfejsy API zgłaszają wyjątek typu ArgumentNullException (.NET 7)

Niektóre interfejsy API teraz weryfikują parametry wejściowe i zgłaszają ArgumentNullException, gdzie wcześniej rzuciły NullReferenceException, jeśli zostaną wywołane z argumentami wejściowymi null.

Poprzednie zachowanie

W poprzednich wersjach platformy .NET interfejsy API zgłaszają NullReferenceException podczas próby wywołania z argumentem null.

Nowe zachowanie

Począwszy od platformy .NET 7, interfejsy API, których dotyczy problem, zgłaszają wywołanie ArgumentNullException z argumentem , który jest null.

Zmień kategorię

Ta zmiana ma wpływ na zgodność binarną.

Przyczyna zmiany

Zgłaszanie ArgumentNullException jest zgodne z zachowaniem środowiska uruchomieniowego platformy .NET. Zapewnia lepsze środowisko debugowania, wyraźnie komunikując, który argument spowodował wyjątek.

Wersja wprowadzona

.NET 7

  • Przejrzyj i, w razie potrzeby, zaktualizuj kod, aby zapobiec przekazywaniu null argumentów wejściowych do dotkniętych interfejsów API.
  • Jeśli kod obsługuje NullReferenceException, zastąp lub dodaj dodatkową procedurę obsługi dla ArgumentNullException.

Interfejsy API, których dotyczy problem

W poniższej tabeli wymieniono objęte interfejsy API i określone parametry.

Metoda/właściwość Nazwa parametru Zmienianie wersji
ComboBox.ChildAccessibleObject(ComboBox, IntPtr) owner Podgląd 1
ControlPaint.CreateHBitmap16Bit(Bitmap, Color) bitmap Podgląd 1
ControlPaint.CreateHBitmapColorMask(Bitmap, IntPtr) bitmap Podgląd 1
DataGridViewEditingControlShowingEventArgs(Control, DataGridViewCellStyle) control lub cellStyle Podgląd 1
ToolStripArrowRenderEventArgs(Graphics, ToolStripItem, Rectangle, Color, ArrowDirection) g Podgląd 1
ToolStripContentPanelRenderEventArgs(Graphics, ToolStripContentPanel) g lub contentPanel Podgląd 1
ToolStripItemRenderEventArgs(Graphics, ToolStripItem) g lub item Podgląd 1
ToolStripPanelRenderEventArgs(Graphics, ToolStripPanel) g lub toolStripPanel Podgląd 1
ListView.CheckedIndexCollection(ListView) owner Wersja zapoznawcza 5