//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel { using System.Security.Permissions; /// /// Specifies how a designer refreshes when the property value is changed. /// [AttributeUsage(AttributeTargets.All)] public sealed class RefreshPropertiesAttribute : Attribute { /// /// /// Indicates all properties should /// be refreshed if the property value is changed. This field is /// read-only. /// /// public static readonly RefreshPropertiesAttribute All = new RefreshPropertiesAttribute(RefreshProperties.All); /// /// /// Indicates all properties should /// be invalidated and repainted if the /// property value is changed. This field is read-only. /// /// public static readonly RefreshPropertiesAttribute Repaint = new RefreshPropertiesAttribute(RefreshProperties.Repaint); /// /// /// Indicates that by default /// no /// properties should be refreshed if the property value /// is changed. This field is read-only. /// /// public static readonly RefreshPropertiesAttribute Default = new RefreshPropertiesAttribute(RefreshProperties.None); private RefreshProperties refresh; /// /// /// public RefreshPropertiesAttribute(RefreshProperties refresh) { this.refresh = refresh; } /// /// /// Gets or sets /// the refresh properties for the member. /// /// public RefreshProperties RefreshProperties { get { return refresh; } } /// /// /// Overrides object's Equals method. /// /// public override bool Equals(object value) { if (value is RefreshPropertiesAttribute) { return(((RefreshPropertiesAttribute)value).RefreshProperties == refresh); } return false; } /// /// /// Returns the hashcode for this object. /// /// public override int GetHashCode() { return base.GetHashCode(); } /// /// Gets a value indicating whether the current attribute is the default. /// public override bool IsDefaultAttribute() { return this.Equals(Default); } } }