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