//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.ComponentModel { using System; using System.Security.Permissions; /// /// [AttributeUsage(AttributeTargets.Class)] public sealed class DataObjectAttribute : Attribute { public static readonly DataObjectAttribute DataObject = new DataObjectAttribute(true); public static readonly DataObjectAttribute NonDataObject = new DataObjectAttribute(false); public static readonly DataObjectAttribute Default = NonDataObject; private bool _isDataObject; public DataObjectAttribute() : this(true) { } public DataObjectAttribute(bool isDataObject) { _isDataObject = isDataObject; } public bool IsDataObject { get { return _isDataObject; } } /// public override bool Equals(object obj) { if (obj == this) { return true; } DataObjectAttribute other = obj as DataObjectAttribute; return (other != null) && (other.IsDataObject == IsDataObject); } /// public override int GetHashCode() { return _isDataObject.GetHashCode(); } /// public override bool IsDefaultAttribute() { return (this.Equals(Default)); } } }