//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.UI { using System; using System.Collections; using System.ComponentModel; /// /// Whether a template is instantiated single or multiple times. /// The code generator generates fields corresponding to controls in the template /// for single instance templates. /// [AttributeUsage(AttributeTargets.Property)] public sealed class TemplateInstanceAttribute : Attribute { public static readonly TemplateInstanceAttribute Multiple = new TemplateInstanceAttribute(TemplateInstance.Multiple); public static readonly TemplateInstanceAttribute Single = new TemplateInstanceAttribute(TemplateInstance.Single); public static readonly TemplateInstanceAttribute Default = Multiple; private TemplateInstance _instances; /// /// public TemplateInstanceAttribute(TemplateInstance instances) { _instances = instances; } /// /// [To be supplied.] /// public TemplateInstance Instances { get { return _instances; } } /// public override bool Equals(object obj) { if (obj == this) { return true; } TemplateInstanceAttribute other = obj as TemplateInstanceAttribute; if (other != null) { return (other.Instances == Instances); } return false; } /// public override int GetHashCode() { return _instances.GetHashCode(); } /// public override bool IsDefaultAttribute() { return this.Equals(Default); } } }