| File: System\ComponentModel\DesignTimeVisibleAttribute.cs | Web Access |
| Project: src\runtime\src\libraries\System.ComponentModel.TypeConverter\src\System.ComponentModel.TypeConverter.csproj (System.ComponentModel.TypeConverter) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Diagnostics.CodeAnalysis; namespace System.ComponentModel { /// <summary> /// DesignTimeVisibileAttribute marks a component's visibility. If /// DesignTimeVisibileAttribute.Yes is present, a visual designer can show /// this component on a designer. /// </summary> [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)] public sealed class DesignTimeVisibleAttribute : Attribute { /// <summary> /// Creates a new DesignTimeVisibleAttribute with the visible /// property set to the given value. /// </summary> public DesignTimeVisibleAttribute(bool visible) { Visible = visible; } /// <summary> /// Creates a new DesignTimeVisibleAttribute set to the default /// value of true. /// </summary> public DesignTimeVisibleAttribute() { } /// <summary> /// True if this component should be shown at design time, or false /// if it shouldn't. /// </summary> public bool Visible { get; } /// <summary> /// Marks a component as visible in a visual designer. /// </summary> public static readonly DesignTimeVisibleAttribute Yes = new DesignTimeVisibleAttribute(true); /// <summary> /// Marks a component as not visible in a visual designer. /// </summary> public static readonly DesignTimeVisibleAttribute No = new DesignTimeVisibleAttribute(false); /// <summary> /// The default visibility. (equal to Yes.) /// </summary> public static readonly DesignTimeVisibleAttribute Default = Yes; public override bool Equals([NotNullWhen(true)] object? obj) { if (obj == this) { return true; } return obj is DesignTimeVisibleAttribute other && other.Visible == Visible; } public override int GetHashCode() => typeof(DesignTimeVisibleAttribute).GetHashCode() ^ (Visible ? -1 : 0); public override bool IsDefaultAttribute() => Visible == Default.Visible; } }