| File: System\ComponentModel\ParenthesizePropertyNameAttribute.cs | Web Access |
| Project: src\runtime\src\libraries\System.ComponentModel.Primitives\src\System.ComponentModel.Primitives.csproj (System.ComponentModel.Primitives) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics.CodeAnalysis; namespace System.ComponentModel { /// <summary> /// Provides a value indicating whether the name of the associated property is /// parenthesized in the properties window. /// </summary> [AttributeUsage(AttributeTargets.All)] public sealed class ParenthesizePropertyNameAttribute : Attribute { /// <summary> /// Sets the System.ComponentModel.Design.ParenthesizePropertyName /// attribute by default to <see langword='false'/>. /// </summary> public static readonly ParenthesizePropertyNameAttribute Default = new ParenthesizePropertyNameAttribute(); public ParenthesizePropertyNameAttribute() : this(false) { } /// <summary> /// Initializes a new instance of the System.ComponentModel.Design.ParenthesizePropertyNameAttribute /// class, using the specified value to indicate whether the attribute is /// marked for display with parentheses. /// </summary> public ParenthesizePropertyNameAttribute(bool needParenthesis) { NeedParenthesis = needParenthesis; } /// <summary> /// Gets a value indicating whether the attribute is placed in parentheses when /// listed in the properties window. /// </summary> public bool NeedParenthesis { get; } /// <summary> /// Compares the specified object to this object and tests for equality. /// </summary> public override bool Equals([NotNullWhen(true)] object? obj) => obj is ParenthesizePropertyNameAttribute other && other.NeedParenthesis == NeedParenthesis; public override int GetHashCode() => base.GetHashCode(); public override bool IsDefaultAttribute() => Equals(Default); } }