[UIKit] Enable nullability and clean up UIControl.#24608
Conversation
* Enable nullability (#nullable enable).
* Add nullable annotations (EventHandler?, UIControl?) for fields that can be null after Dispose.
* Use null-conditional invocation (eh?.Invoke) for safe delegate calls after disposal.
* Use inline 'out var' declarations for TryGetValue calls.
* Improve XML documentation comments: remove 'To be added.' placeholders, fix typos ('oN' -> 'on'), fix grammar ('The value has changed' -> 'Raised when the value has changed'), add 'see cref' references to UIControlEvent enum values and methods, remove extra whitespace, fix incomplete sentences, remove empty remarks elements.
Contributes towards #17285.
There was a problem hiding this comment.
Pull request overview
This PR enables nullable reference types in UIControl.cs and improves the code quality through nullable annotations, modernized syntax, and enhanced XML documentation.
Changes:
- Enabled nullable reference types (
#nullable enable) and added nullable annotations forEventHandler?andUIControl?fields that can be null after disposal - Modernized code with inline
out vardeclarations forTryGetValuecalls - Improved XML documentation by removing "To be added." placeholders, fixing typos and grammar, and adding
<see cref>references to UIControlEvent enum values
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #c13d69a] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ [CI Build #c13d69a] Build passed (Build packages) ✅Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [CI Build #c13d69a] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [CI Build #c13d69a] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [CI Build #c13d69a] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [CI Build #c13d69a] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
💻 [CI Build #c13d69a] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
💻 [CI Build #c13d69a] Tests on macOS arm64 - Mac Tahoe (26) passed 💻✅ All tests on macOS arm64 - Mac Tahoe (26) passed. Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build #c13d69a] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 130 tests passed 🎉 Tests counts✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
This is file 7 of 30 files with nullability disabled in UIKit.
Contributes towards #17285.