﻿// Decompiled with JetBrains decompiler
// Type: System.Web.UI.ConstructorNeedsTagAttribute
// Assembly: System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// MVID: 7E68A73E-4066-4F24-AB0A-F147209F50EC
// Assembly location: C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Web.dll

using System;
using System.Runtime;

namespace System.Web.UI
{
  /// <summary>
  /// Specifies that a server control needs a tag name in its constructor.
  /// </summary>
  [AttributeUsage(AttributeTargets.Class)]
  public sealed class ConstructorNeedsTagAttribute : Attribute
  {
    private bool needsTag;

    /// <summary>
    /// Indicates whether a control needs a tag name in its constructor. This property is read-only.
    /// </summary>
    /// 
    /// <returns>
    /// true if the control needs a tag in its constructor. The default is false.
    /// </returns>
    public bool NeedsTag
    {
      [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get
      {
        return this.needsTag;
      }
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="T:System.Web.UI.ConstructorNeedsTagAttribute"/> class.
    /// </summary>
    [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    public ConstructorNeedsTagAttribute()
    {
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="T:System.Web.UI.ConstructorNeedsTagAttribute"/> class.
    /// </summary>
    /// <param name="needsTag">true to add a tag to a control; otherwise, false. </param>
    [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    public ConstructorNeedsTagAttribute(bool needsTag)
    {
      this.needsTag = needsTag;
    }
  }
}
