//------------------------------------------------------------------------------
//
// 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);
}
}
}