Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

76 lines
2.2 KiB
C#

//------------------------------------------------------------------------------
// <copyright file="TemplateInstanceAttribute.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.ComponentModel;
/// <devdoc>
/// Whether a template is instantiated single or multiple times.
/// The code generator generates fields corresponding to controls in the template
/// for single instance templates.
/// </devdoc>
[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;
/// <devdoc>
/// </devdoc>
public TemplateInstanceAttribute(TemplateInstance instances) {
_instances = instances;
}
/// <devdoc>
/// <para>[To be supplied.]</para>
/// </devdoc>
public TemplateInstance Instances {
get {
return _instances;
}
}
/// <internalonly/>
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;
}
/// <internalonly/>
public override int GetHashCode() {
return _instances.GetHashCode();
}
/// <internalonly/>
public override bool IsDefaultAttribute() {
return this.Equals(Default);
}
}
}