diff --git a/src/System.Windows.Forms/src/PublicAPI.Shipped.txt b/src/System.Windows.Forms/src/PublicAPI.Shipped.txt index 9ecc7bf368f..10ad965cca3 100644 --- a/src/System.Windows.Forms/src/PublicAPI.Shipped.txt +++ b/src/System.Windows.Forms/src/PublicAPI.Shipped.txt @@ -241,10 +241,10 @@ override System.Windows.Forms.PropertyGrid.BackgroundImage.set -> void ~override System.Windows.Forms.PropertyGrid.OnResize(System.EventArgs e) -> void ~override System.Windows.Forms.PropertyGrid.OnSystemColorsChanged(System.EventArgs e) -> void ~override System.Windows.Forms.PropertyGrid.OnVisibleChanged(System.EventArgs e) -> void -~override System.Windows.Forms.PropertyGrid.Site.get -> System.ComponentModel.ISite -~override System.Windows.Forms.PropertyGrid.Site.set -> void -~override System.Windows.Forms.PropertyGrid.Text.get -> string -~override System.Windows.Forms.PropertyGrid.Text.set -> void +override System.Windows.Forms.PropertyGrid.Site.get -> System.ComponentModel.ISite? +override System.Windows.Forms.PropertyGrid.Site.set -> void +override System.Windows.Forms.PropertyGrid.Text.get -> string! +override System.Windows.Forms.PropertyGrid.Text.set -> void override System.Windows.Forms.TreeNode.ToString() -> string! override System.Windows.Forms.TreeView.BackgroundImage.get -> System.Drawing.Image? override System.Windows.Forms.TreeView.BackgroundImage.set -> void @@ -570,16 +570,16 @@ System.Windows.Forms.PropertyGrid.BrowsableAttributes.set -> void System.Windows.Forms.PropertyGrid.Controls.get -> System.Windows.Forms.Control.ControlCollection! ~System.Windows.Forms.PropertyGrid.OnComComponentNameChanged(System.ComponentModel.Design.ComponentRenameEventArgs e) -> void ~System.Windows.Forms.PropertyGrid.OnNotifyPropertyValueUIItemsChanged(object sender, System.EventArgs e) -> void -~System.Windows.Forms.PropertyGrid.PropertyTabs.get -> System.Windows.Forms.PropertyGrid.PropertyTabCollection -~System.Windows.Forms.PropertyGrid.SelectedGridItem.get -> System.Windows.Forms.GridItem -~System.Windows.Forms.PropertyGrid.SelectedGridItem.set -> void -~System.Windows.Forms.PropertyGrid.SelectedObject.get -> object -~System.Windows.Forms.PropertyGrid.SelectedObject.set -> void -~System.Windows.Forms.PropertyGrid.SelectedObjects.get -> object[] -~System.Windows.Forms.PropertyGrid.SelectedObjects.set -> void -~System.Windows.Forms.PropertyGrid.SelectedTab.get -> System.Windows.Forms.Design.PropertyTab -~System.Windows.Forms.PropertyGrid.ToolStripRenderer.get -> System.Windows.Forms.ToolStripRenderer -~System.Windows.Forms.PropertyGrid.ToolStripRenderer.set -> void +System.Windows.Forms.PropertyGrid.PropertyTabs.get -> System.Windows.Forms.PropertyGrid.PropertyTabCollection! +System.Windows.Forms.PropertyGrid.SelectedGridItem.get -> System.Windows.Forms.GridItem? +System.Windows.Forms.PropertyGrid.SelectedGridItem.set -> void +System.Windows.Forms.PropertyGrid.SelectedObject.get -> object? +System.Windows.Forms.PropertyGrid.SelectedObject.set -> void +System.Windows.Forms.PropertyGrid.SelectedObjects.get -> object![]! +System.Windows.Forms.PropertyGrid.SelectedObjects.set -> void +System.Windows.Forms.PropertyGrid.SelectedTab.get -> System.Windows.Forms.Design.PropertyTab! +System.Windows.Forms.PropertyGrid.ToolStripRenderer.get -> System.Windows.Forms.ToolStripRenderer? +System.Windows.Forms.PropertyGrid.ToolStripRenderer.set -> void System.Windows.Forms.TreeNode.FirstNode.get -> System.Windows.Forms.TreeNode? System.Windows.Forms.TreeNode.FullPath.get -> string! System.Windows.Forms.TreeNode.ImageKey.get -> string! @@ -9076,33 +9076,33 @@ System.Windows.Forms.PropertyGrid.DisabledItemForeColor.set -> void System.Windows.Forms.PropertyGrid.DrawFlatToolbar.get -> bool System.Windows.Forms.PropertyGrid.DrawFlatToolbar.set -> void System.Windows.Forms.PropertyGrid.ExpandAllGridItems() -> void -System.Windows.Forms.PropertyGrid.ForeColorChanged -> System.EventHandler +System.Windows.Forms.PropertyGrid.ForeColorChanged -> System.EventHandler? System.Windows.Forms.PropertyGrid.HelpBackColor.get -> System.Drawing.Color System.Windows.Forms.PropertyGrid.HelpBackColor.set -> void System.Windows.Forms.PropertyGrid.HelpBorderColor.get -> System.Drawing.Color System.Windows.Forms.PropertyGrid.HelpBorderColor.set -> void System.Windows.Forms.PropertyGrid.HelpForeColor.get -> System.Drawing.Color System.Windows.Forms.PropertyGrid.HelpForeColor.set -> void -System.Windows.Forms.PropertyGrid.KeyDown -> System.Windows.Forms.KeyEventHandler -System.Windows.Forms.PropertyGrid.KeyPress -> System.Windows.Forms.KeyPressEventHandler -System.Windows.Forms.PropertyGrid.KeyUp -> System.Windows.Forms.KeyEventHandler +System.Windows.Forms.PropertyGrid.KeyDown -> System.Windows.Forms.KeyEventHandler? +System.Windows.Forms.PropertyGrid.KeyPress -> System.Windows.Forms.KeyPressEventHandler? +System.Windows.Forms.PropertyGrid.KeyUp -> System.Windows.Forms.KeyEventHandler? System.Windows.Forms.PropertyGrid.LargeButtons.get -> bool System.Windows.Forms.PropertyGrid.LargeButtons.set -> void System.Windows.Forms.PropertyGrid.LineColor.get -> System.Drawing.Color System.Windows.Forms.PropertyGrid.LineColor.set -> void -System.Windows.Forms.PropertyGrid.MouseDown -> System.Windows.Forms.MouseEventHandler -System.Windows.Forms.PropertyGrid.MouseEnter -> System.EventHandler -System.Windows.Forms.PropertyGrid.MouseLeave -> System.EventHandler -System.Windows.Forms.PropertyGrid.MouseMove -> System.Windows.Forms.MouseEventHandler -System.Windows.Forms.PropertyGrid.MouseUp -> System.Windows.Forms.MouseEventHandler +System.Windows.Forms.PropertyGrid.MouseDown -> System.Windows.Forms.MouseEventHandler? +System.Windows.Forms.PropertyGrid.MouseEnter -> System.EventHandler? +System.Windows.Forms.PropertyGrid.MouseLeave -> System.EventHandler? +System.Windows.Forms.PropertyGrid.MouseMove -> System.Windows.Forms.MouseEventHandler? +System.Windows.Forms.PropertyGrid.MouseUp -> System.Windows.Forms.MouseEventHandler? System.Windows.Forms.PropertyGrid.Padding.get -> System.Windows.Forms.Padding System.Windows.Forms.PropertyGrid.Padding.set -> void -System.Windows.Forms.PropertyGrid.PaddingChanged -> System.EventHandler +System.Windows.Forms.PropertyGrid.PaddingChanged -> System.EventHandler? System.Windows.Forms.PropertyGrid.PropertyGrid() -> void System.Windows.Forms.PropertyGrid.PropertySort.get -> System.Windows.Forms.PropertySort System.Windows.Forms.PropertyGrid.PropertySort.set -> void -System.Windows.Forms.PropertyGrid.PropertySortChanged -> System.EventHandler -System.Windows.Forms.PropertyGrid.PropertyTabChanged -> System.Windows.Forms.PropertyTabChangedEventHandler +System.Windows.Forms.PropertyGrid.PropertySortChanged -> System.EventHandler? +System.Windows.Forms.PropertyGrid.PropertyTabChanged -> System.Windows.Forms.PropertyTabChangedEventHandler? System.Windows.Forms.PropertyGrid.PropertyTabCollection System.Windows.Forms.PropertyGrid.PropertyTabCollection.AddTabType(System.Type! propertyTabType) -> void System.Windows.Forms.PropertyGrid.PropertyTabCollection.AddTabType(System.Type! propertyTabType, System.ComponentModel.PropertyTabScope tabScope) -> void @@ -9111,17 +9111,17 @@ System.Windows.Forms.PropertyGrid.PropertyTabCollection.Count.get -> int System.Windows.Forms.PropertyGrid.PropertyTabCollection.GetEnumerator() -> System.Collections.IEnumerator! System.Windows.Forms.PropertyGrid.PropertyTabCollection.RemoveTabType(System.Type! propertyTabType) -> void System.Windows.Forms.PropertyGrid.PropertyTabCollection.this[int index].get -> System.Windows.Forms.Design.PropertyTab! -System.Windows.Forms.PropertyGrid.PropertyValueChanged -> System.Windows.Forms.PropertyValueChangedEventHandler +System.Windows.Forms.PropertyGrid.PropertyValueChanged -> System.Windows.Forms.PropertyValueChangedEventHandler? System.Windows.Forms.PropertyGrid.RefreshTabs(System.ComponentModel.PropertyTabScope tabScope) -> void System.Windows.Forms.PropertyGrid.ResetSelectedProperty() -> void -System.Windows.Forms.PropertyGrid.SelectedGridItemChanged -> System.Windows.Forms.SelectedGridItemChangedEventHandler +System.Windows.Forms.PropertyGrid.SelectedGridItemChanged -> System.Windows.Forms.SelectedGridItemChangedEventHandler? System.Windows.Forms.PropertyGrid.SelectedItemWithFocusBackColor.get -> System.Drawing.Color System.Windows.Forms.PropertyGrid.SelectedItemWithFocusBackColor.set -> void System.Windows.Forms.PropertyGrid.SelectedItemWithFocusForeColor.get -> System.Drawing.Color System.Windows.Forms.PropertyGrid.SelectedItemWithFocusForeColor.set -> void -System.Windows.Forms.PropertyGrid.SelectedObjectsChanged -> System.EventHandler +System.Windows.Forms.PropertyGrid.SelectedObjectsChanged -> System.EventHandler? System.Windows.Forms.PropertyGrid.ShowEventsButton(bool value) -> void -System.Windows.Forms.PropertyGrid.TextChanged -> System.EventHandler +System.Windows.Forms.PropertyGrid.TextChanged -> System.EventHandler? System.Windows.Forms.PropertyGrid.UseCompatibleTextRendering.get -> bool System.Windows.Forms.PropertyGrid.UseCompatibleTextRendering.set -> void System.Windows.Forms.PropertyGrid.ViewBackColor.get -> System.Drawing.Color diff --git a/src/System.Windows.Forms/src/System/Windows/Forms/Controls/PropertyGrid/PropertyGrid.cs b/src/System.Windows.Forms/src/System/Windows/Forms/Controls/PropertyGrid/PropertyGrid.cs index 477d08d27ab..5a3554b2574 100644 --- a/src/System.Windows.Forms/src/System/Windows/Forms/Controls/PropertyGrid/PropertyGrid.cs +++ b/src/System.Windows.Forms/src/System/Windows/Forms/Controls/PropertyGrid/PropertyGrid.cs @@ -554,7 +554,7 @@ public virtual bool CommandsVisibleIfAvailable [EditorBrowsable(EditorBrowsableState.Advanced)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] protected virtual Type DefaultTabType => typeof(PropertiesTab); -#nullable disable + /// /// Gets or sets a value indicating whether the control paints its toolbar /// with flat buttons. @@ -584,7 +584,7 @@ public override Color ForeColor [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] - public new event EventHandler ForeColorChanged + public new event EventHandler? ForeColorChanged { add => base.ForeColorChanged += value; remove => base.ForeColorChanged -= value; @@ -819,7 +819,7 @@ public Color LineColor [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] - public new event EventHandler PaddingChanged + public new event EventHandler? PaddingChanged { add => base.PaddingChanged += value; remove => base.PaddingChanged -= value; @@ -843,18 +843,18 @@ public PropertySort PropertySort if ((value & PropertySort.Categorized) != 0) { - newButton = _viewSortButtons[CategorySortButtonIndex]; + newButton = _viewSortButtons![CategorySortButtonIndex]; } else if ((value & PropertySort.Alphabetical) != 0) { - newButton = _viewSortButtons[AlphaSortButtonIndex]; + newButton = _viewSortButtons![AlphaSortButtonIndex]; } else { - newButton = _viewSortButtons[NoSortButtonIndex]; + newButton = _viewSortButtons![NoSortButtonIndex]; } - GridItem selectedGridItem = SelectedGridItem; + GridItem? selectedGridItem = SelectedGridItem; OnViewSortButtonClick(newButton, EventArgs.Empty); @@ -890,7 +890,7 @@ public PropertySort PropertySort [SRDescription(nameof(SR.PropertyGridSelectedObjectDesc))] [SRCategory(nameof(SR.CatBehavior))] [TypeConverter(typeof(SelectedObjectConverter))] - public object SelectedObject + public object? SelectedObject { get => _selectedObjects is null || _selectedObjects.Length == 0 ? null : _selectedObjects[0]; set => SelectedObjects = value is null ? Array.Empty() : (new object[] { value }); @@ -898,6 +898,7 @@ public object SelectedObject [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + [AllowNull] public object[] SelectedObjects { get => _selectedObjects is null ? Array.Empty() : (object[])_selectedObjects.Clone(); @@ -960,7 +961,7 @@ public object[] SelectedObjects if (newObject is ICustomTypeDescriptor descriptor) { - newObject = descriptor.GetPropertyOwner(pd: null); + newObject = descriptor.GetPropertyOwner(pd: null)!; } Type newType = newObject.GetType(); @@ -1018,8 +1019,8 @@ public object[] SelectedObjects { // Throw away any extra component only tabs. - Type tabType = _selectedTab?.TabType; - ToolStripButton viewTabButton = null; + Type? tabType = _selectedTab?.TabType; + ToolStripButton? viewTabButton = null; RefreshTabs(PropertyTabScope.Component); EnableTabs(); @@ -1047,7 +1048,7 @@ public object[] SelectedObjects BrowsableAttributes.CopyTo(attributes, 0); // Used to avoid looking up events on the same type multiple times. - HashSet typesWithEvents = _selectedObjects.Length > 10 ? new() : null; + HashSet? typesWithEvents = _selectedObjects.Length > 10 ? new() : null; for (int i = 0; i < _selectedObjects.Length && showEvents; i++) { @@ -1055,7 +1056,7 @@ public object[] SelectedObjects if (currentObject is ICustomTypeDescriptor descriptor) { - currentObject = descriptor.GetPropertyOwner(null); + currentObject = descriptor.GetPropertyOwner(pd: null)!; } Type objectType = currentObject.GetType(); @@ -1094,9 +1095,9 @@ public object[] SelectedObjects // If you select an events tab for your designer and double click to go to code, it should // be the events tab when you get back to the designer. Check for that state here and // make sure we select and refresh that tab when we load. - if (_selectedObjects.Length > 0 && GetFlag(Flags.ReInitTab)) + if (_selectedObjects!.Length > 0 && GetFlag(Flags.ReInitTab)) { - object designerKey = ActiveDesigner; + object? designerKey = ActiveDesigner; // Get the active designer and see if we've stashed away state for it. if (TryGetSavedTabIndex(out int selectedTab)) @@ -1133,14 +1134,15 @@ public PropertyTab SelectedTab get { Debug.Assert(_selectedTab is not null, "Invalid tab selection!"); - return _selectedTab?.Tab; + return _selectedTab?.Tab!; } } [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public GridItem SelectedGridItem + [DisallowNull] + public GridItem? SelectedGridItem { get => _gridView.SelectedGridEntry ?? _rootEntry; set => _gridView.SelectedGridEntry = (GridEntry)value; @@ -1148,7 +1150,7 @@ public GridItem SelectedGridItem protected internal override bool ShowFocusCues => true; - public override ISite Site + public override ISite? Site { get => base.Site; set @@ -1172,6 +1174,7 @@ public override ISite Site [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + [AllowNull] public override string Text { get => base.Text; @@ -1179,7 +1182,7 @@ public override string Text } [Browsable(false)] - public new event EventHandler TextChanged + public new event EventHandler? TextChanged { add => base.TextChanged += value; remove => base.TextChanged -= value; @@ -1255,7 +1258,7 @@ public virtual bool ToolbarVisible } } - protected ToolStripRenderer ToolStripRenderer + protected ToolStripRenderer? ToolStripRenderer { get => _toolStrip?.Renderer; set @@ -1320,15 +1323,16 @@ private int AddImage(Bitmap image) } image = ScaleHelper.CopyAndScaleToSize(image, s_normalButtonSize); - int result = _normalButtonImages.Images.Count; + int result = _normalButtonImages!.Images.Count; _normalButtonImages.Images.Add(image); + return result; } /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event KeyEventHandler KeyDown + public new event KeyEventHandler? KeyDown { add => base.KeyDown += value; remove => base.KeyDown -= value; @@ -1337,7 +1341,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event KeyPressEventHandler KeyPress + public new event KeyPressEventHandler? KeyPress { add => base.KeyPress += value; remove => base.KeyPress -= value; @@ -1346,7 +1350,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event KeyEventHandler KeyUp + public new event KeyEventHandler? KeyUp { add => base.KeyUp += value; remove => base.KeyUp -= value; @@ -1355,7 +1359,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event MouseEventHandler MouseDown + public new event MouseEventHandler? MouseDown { add => base.MouseDown += value; remove => base.MouseDown -= value; @@ -1364,7 +1368,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event MouseEventHandler MouseUp + public new event MouseEventHandler? MouseUp { add => base.MouseUp += value; remove => base.MouseUp -= value; @@ -1373,7 +1377,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event MouseEventHandler MouseMove + public new event MouseEventHandler? MouseMove { add => base.MouseMove += value; remove => base.MouseMove -= value; @@ -1382,7 +1386,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event EventHandler MouseEnter + public new event EventHandler? MouseEnter { add => base.MouseEnter += value; remove => base.MouseEnter -= value; @@ -1391,7 +1395,7 @@ private int AddImage(Bitmap image) /// [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] - public new event EventHandler MouseLeave + public new event EventHandler? MouseLeave { add => base.MouseLeave += value; remove => base.MouseLeave -= value; @@ -1402,13 +1406,13 @@ private int AddImage(Bitmap image) /// [SRCategory(nameof(SR.CatPropertyChanged))] [SRDescription(nameof(SR.PropertyGridPropertyValueChangedDescr))] - public event PropertyValueChangedEventHandler PropertyValueChanged + public event PropertyValueChangedEventHandler? PropertyValueChanged { add => Events.AddHandler(s_propertyValueChangedEvent, value); remove => Events.RemoveHandler(s_propertyValueChangedEvent, value); } - event ComponentRenameEventHandler IComPropertyBrowser.ComComponentNameChanged + event ComponentRenameEventHandler? IComPropertyBrowser.ComComponentNameChanged { add => Events.AddHandler(s_comComponentNameChangedEvent, value); remove => Events.RemoveHandler(s_comComponentNameChangedEvent, value); @@ -1419,7 +1423,7 @@ event ComponentRenameEventHandler IComPropertyBrowser.ComComponentNameChanged /// [SRCategory(nameof(SR.CatPropertyChanged))] [SRDescription(nameof(SR.PropertyGridPropertyTabchangedDescr))] - public event PropertyTabChangedEventHandler PropertyTabChanged + public event PropertyTabChangedEventHandler? PropertyTabChanged { add => Events.AddHandler(s_propertyTabChangedEvent, value); remove => Events.RemoveHandler(s_propertyTabChangedEvent, value); @@ -1430,7 +1434,7 @@ public event PropertyTabChangedEventHandler PropertyTabChanged /// [SRCategory(nameof(SR.CatPropertyChanged))] [SRDescription(nameof(SR.PropertyGridPropertySortChangedDescr))] - public event EventHandler PropertySortChanged + public event EventHandler? PropertySortChanged { add => Events.AddHandler(s_propertySortChangedEvent, value); remove => Events.RemoveHandler(s_propertySortChangedEvent, value); @@ -1441,7 +1445,7 @@ public event EventHandler PropertySortChanged /// [SRCategory(nameof(SR.CatPropertyChanged))] [SRDescription(nameof(SR.PropertyGridSelectedGridItemChangedDescr))] - public event SelectedGridItemChangedEventHandler SelectedGridItemChanged + public event SelectedGridItemChangedEventHandler? SelectedGridItemChanged { add => Events.AddHandler(s_selectedGridItemChangedEvent, value); remove => Events.RemoveHandler(s_selectedGridItemChangedEvent, value); @@ -1449,15 +1453,19 @@ public event SelectedGridItemChangedEventHandler SelectedGridItemChanged [SRCategory(nameof(SR.CatPropertyChanged))] [SRDescription(nameof(SR.PropertyGridSelectedObjectsChangedDescr))] - public event EventHandler SelectedObjectsChanged + public event EventHandler? SelectedObjectsChanged { add => Events.AddHandler(s_selectedObjectsChangedEvent, value); remove => Events.RemoveHandler(s_selectedObjectsChangedEvent, value); } - internal void AddTab(Type tabType, PropertyTabScope scope, object @object = null, bool setupToolbar = true) + internal void AddTab( + Type tabType, + PropertyTabScope scope, + object? @object = null, + bool setupToolbar = true) { - PropertyTab tab = null; + PropertyTab? tab = null; int tabIndex = -1; // Check to see if we've already got a tab of this type. @@ -1476,7 +1484,7 @@ internal void AddTab(Type tabType, PropertyTabScope scope, object @object = null { // The tabs need service providers. The one we hold onto is not good enough, // so try to get the one off of the component's site. - IDesignerHost host = null; + IDesignerHost? host = null; if (@object is IComponent component && component.Site is ISite site) { host = site.GetService(); @@ -1536,11 +1544,11 @@ internal void AddTab(Type tabType, PropertyTabScope scope, object @object = null { try { - object[] tabComponents = tab.Components; + object[]? tabComponents = tab.Components; int oldArraySize = tabComponents is null ? 0 : tabComponents.Length; object[] newComponents = new object[oldArraySize + 1]; - if (oldArraySize > 0) + if (tabComponents is not null) { Array.Copy(tabComponents, newComponents, oldArraySize); } @@ -1561,7 +1569,7 @@ internal void AddTab(Type tabType, PropertyTabScope scope, object @object = null ShowEventsButton(false); } } - +#nullable disable /// Collapses all the nodes in the PropertyGrid public void CollapseAllGridItems() => _gridView.RecursivelyExpand(_rootEntry, initialize: false, expand: false, maxExpands: -1); diff --git a/src/System.Windows.Forms/tests/TestUtilities/PropertyGridInternal/SubPropertyGrid.cs b/src/System.Windows.Forms/tests/TestUtilities/PropertyGridInternal/SubPropertyGrid.cs index 710d6c51c48..304b631f35b 100644 --- a/src/System.Windows.Forms/tests/TestUtilities/PropertyGridInternal/SubPropertyGrid.cs +++ b/src/System.Windows.Forms/tests/TestUtilities/PropertyGridInternal/SubPropertyGrid.cs @@ -4,6 +4,7 @@ #nullable enable using System.ComponentModel; +using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Runtime.ExceptionServices; using System.Runtime.InteropServices; @@ -17,6 +18,7 @@ namespace System.Windows.Forms.PropertyGridInternal.TestUtilities; internal PropertyGridView GridView => this.TestAccessor().Dynamic._gridView; + [DisallowNull] internal GridEntry? SelectedEntry { get => GridView.SelectedGridEntry; @@ -27,7 +29,7 @@ internal GridEntry this[string propertyName] { get { - string categoryName = SelectedObject.GetType().GetProperty(propertyName)! + string categoryName = SelectedObject!.GetType().GetProperty(propertyName)! .GetCustomAttribute()!.Category; return GetCurrentEntries() .Single(entry => entry.PropertyName == categoryName) @@ -79,7 +81,7 @@ public void PopupEditorAndClose(Action? onClosingAction = null) protected override void Dispose(bool disposing) { - object selectedObject = SelectedObject; + object? selectedObject = SelectedObject; base.Dispose(disposing);