-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Description
Description
The TableLayoutStyleCollection in Winforms enforces the type passed to its collection operations and throws an exception if the type is not of TableLayoutStyle. Previously, the public APIs would throw an InvalidCastException, but they will now throw an ArgumentException. The current behavior regarding InvalidCastException is not explicitly stated in the existing documentation. The following operations could potentially throw an ArgumentException:
Add()
Remove()
Index - setter ( i.e. this[..] = ..)
Version
.NET 8 Preview 1
Previous behavior
If the input cannot be converted to the type TableLayoutStyle, an InvalidCastException will be thrown during the operation.
New behavior
If the input cannot be converted to the type TableLayoutStyle, an ArgumentException will be thrown during the operation.
Type of breaking change
- Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
- Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code may require source changes to compile successfully.
- Behavioral change: Existing binaries may behave differently at run time.
Reason for change
Existing documentation clearly notes that type should be of type TableLayoutStyle. Making exceptions consistent across codebase.
Recommended action
This change should not have a significant impact on most scenarios. However, if users were previously handling the InvalidCastException exception, which is not documented, they will now need to make changes to handle the ArgumentException, which is documented instead.
Feature area
Windows Forms
Affected APIs
in TableLayoutStyleCollection
Add()
Remove()
Index - setter ( i.e. this[..] = ..)