| File: System\Windows\Forms\Control.AmbientProperty.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms\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. namespace System.Windows.Forms; public partial class Control { /// <summary> /// Contains a single ambient property, including DISPID, name and value. /// </summary> private class AmbientProperty { private object? _value; /// <summary> /// Creates a new, empty ambient property. /// </summary> internal AmbientProperty(string name, int dispID) { Name = name; DispID = dispID; _value = null; Empty = true; } /// <summary> /// The windows forms property name. /// </summary> internal string Name { get; } /// <summary> /// The DispID for the property. /// </summary> internal int DispID { get; } /// <summary> /// Returns true if this property has not been set. /// </summary> internal bool Empty { get; private set; } /// <summary> /// The current value of the property. /// </summary> internal object? Value { get => _value; set { _value = value; Empty = false; } } /// <summary> /// Resets the property. /// </summary> internal void ResetValue() { Empty = true; _value = null; } } }