All pastes #245418 Raw Edit

Unnamed

public text v1 · immutable
#245418 ·published 2006-11-10 23:28 UTC
rendered paste body
namespace System.ComponentModel
{
	[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Event)]
	public class DisplayNameAttribute : Attribute
	{
		public static readonly DisplayNameAttribute Default = new DisplayNameAttribute ();

		private string attributeDisplayName;

		public DisplayNameAttribute ()
		{
			this.attributeDisplayName = String.Empty;
		}

		public DisplayNameAttribute (string displayName)
		{
			this.attributeDisplayName = displayName != null ? displayName : String.Empty;
		}

		public override bool IsDefaultAttribute ()
		{
			return attributeDisplayName.Length == 0;
		}

		public override int GetHashCode ()
		{
			return attributeDisplayName.GetHashCode ();
		}
		
		public override bool Equals (object obj)
		{
			if (obj == this)
				return true;
			
			DisplayNameAttribute dna = obj as DisplayNameAttribute;
			
			if (dna == null)
				return false;
			return dna.DisplayName == attributeDisplayName;
		}
		
		public virtual string DisplayName {
			get { return attributeDisplayName; }
		}
		
		protected string DisplayNameValue {
			get { return attributeDisplayName; }
			set { attributeDisplayName = value != null ? value : String.Empty; }
		}
	}
}