File: System\Windows\Forms\Controls\UpDown\UpDownBase.UpDownEdit.UpDownEditAccessibleObject.cs
Web Access
Project: src\src\System.Windows.Forms\src\System.Windows.Forms.csproj (System.Windows.Forms)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using Windows.Win32.System.Variant;
 
namespace System.Windows.Forms;
 
public abstract partial class UpDownBase
{
    internal partial class UpDownEdit
    {
        internal sealed class UpDownEditAccessibleObject : TextBoxBaseAccessibleObject
        {
            private readonly UpDownBase _parent;
 
            public UpDownEditAccessibleObject(UpDownEdit owner, UpDownBase parent) : base(owner)
            {
                _parent = parent.OrThrowIfNull();
            }
 
            public override string? Name
            {
                get => _parent.AccessibilityObject.Name
                    ?? _parent switch
                    {
                        NumericUpDown or DomainUpDown => SR.EditDefaultAccessibleName,
                        _ => null
                    };
                set => _parent.AccessibilityObject.Name = value;
            }
 
            internal override bool CanGetNameInternal => false;
 
            internal override bool CanSetNameInternal => _parent.AccessibilityObject.CanSetNameInternal;
 
            internal override void SetNameInternal(BSTR value) => _parent.AccessibilityObject.SetNameInternal(value);
 
            public override string? KeyboardShortcut => _parent.AccessibilityObject.KeyboardShortcut;
 
            internal override bool CanGetKeyboardShortcutInternal => _parent.AccessibilityObject.CanGetKeyboardShortcutInternal;
 
            internal override BSTR GetKeyboardShortcutInternal(VARIANT childID) => _parent.AccessibilityObject.GetKeyboardShortcutInternal(childID);
 
            private protected override bool IsInternal => true;
        }
    }
}