TemplateGroupCollection Класс

Определение

Представляет коллекцию объектов TemplateGroup в конструкторе элементов управления. Этот класс не наследуется.

public ref class TemplateGroupCollection sealed : System::Collections::IList
public sealed class TemplateGroupCollection : System.Collections.IList
type TemplateGroupCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public NotInheritable Class TemplateGroupCollection
Implements IList
Наследование
TemplateGroupCollection
Реализации

Примеры

В следующем примере кода показано, как определить простой конструктор элементов управления, производный ControlDesigner от класса. Производный конструктор элементов управления реализует TemplateGroups свойство, получая группы шаблонов, определенные для базового класса, и добавляя группу шаблонов, относящуюся к производной конструктору элементов управления.

using System;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.ComponentModel;
using System.ComponentModel.Design;

namespace Examples.AspNet
{
    // Define a simple control designer that adds a
    // template group to the template group collection.
    class DerivedControlDesigner : System.Web.UI.Design.ControlDesigner
    {
        private DerivedControl internalControl = null;

        private const String templateGroupName = "My template group";
        private const String templateDefinitionName1 = "First";
        private const String templateDefinitionName2 = "Second";
        private TemplateGroup internalGroup = null;

        // Override the read-only TemplateGroups property.
        // Get the base group collection, and add a group 
        // with two template definitions for the derived
        // control designer.
        public override TemplateGroupCollection TemplateGroups
        {
            get
            {
                // Start with the groups defined by the base designer class.
                TemplateGroupCollection groups = base.TemplateGroups;

                if (internalGroup == null) 
                {
                    // Define a new group with two template definitions.
                    internalGroup = new TemplateGroup(templateGroupName, 
                                                internalControl.ControlStyle);

                    TemplateDefinition templateDef1 = new TemplateDefinition(this, 
                        templateDefinitionName1, internalControl, 
                        templateDefinitionName1, internalControl.ControlStyle);

                    TemplateDefinition templateDef2 = new TemplateDefinition(this, 
                        templateDefinitionName2, internalControl, 
                        templateDefinitionName2, internalControl.ControlStyle);

                    internalGroup.AddTemplateDefinition(templateDef1);
                    internalGroup.AddTemplateDefinition(templateDef2);
                }

                // Add the new template group to the collection.
                groups.Add(internalGroup);

                return groups;
            }
        }
    }

    // Define a simple web control, and associate it with the designer.
    [DesignerAttribute(typeof(DerivedControlDesigner),
                       typeof(IDesigner))]
    public class DerivedControl : WebControl
    {
        // Define derived control behavior here.
    }
}
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.ComponentModel
Imports System.ComponentModel.Design

Namespace Examples.AspNet

    ' Define a simple control designer that adds a
    ' template group to the template group collection.
    Class DerivedControlDesigner
        Inherits System.Web.UI.Design.ControlDesigner

        Private Dim internalControl As DerivedControl = Nothing
    
        Private Const templateGroupName As String = "My template group"
        Private Const templateDefinitionName1 As String = "First"
        Private Const templateDefinitionName2 As String = "Second"
        Private Dim internalGroup As TemplateGroup = Nothing

        ' Override the read-only TemplateGroups property.
        ' Get the base group collection, and add a group 
        ' with two template definitions for the derived
        ' control designer.
        Public Overrides ReadOnly Property TemplateGroups As TemplateGroupCollection
            Get

                ' Start with the groups defined by the base designer class.
                Dim groups As TemplateGroupCollection  = MyBase.TemplateGroups

                If internalGroup Is Nothing

                    ' Define a new group with two template definitions.
                    internalGroup = New TemplateGroup(templateGroupName, _
                                                internalControl.ControlStyle)

                    Dim templateDef1 As TemplateDefinition = new TemplateDefinition(Me, _
                        templateDefinitionName1, internalControl, _
                        templateDefinitionName1, internalControl.ControlStyle)

                    Dim templateDef2 As TemplateDefinition = new TemplateDefinition(Me, _
                        templateDefinitionName2, internalControl, _
                        templateDefinitionName2, internalControl.ControlStyle)

                    internalGroup.AddTemplateDefinition(templateDef1)
                    internalGroup.AddTemplateDefinition(templateDef2)

                End If

                ' Add the new template group to the collection.
                groups.Add(internalGroup)

                return groups
            End Get
        End Property

    End Class

    ' Simple Web control, derived from the Web control class.
    <DesignerAttribute(GetType(DerivedControlDesigner), GetType(IDesigner))> _
    Public Class DerivedControl
        Inherits WebControl
        
        ' Define derived control behavior here.
    End Class

End Namespace

Комментарии

Класс ControlDesigner и любой производный TemplateGroupCollection класс определяют TemplateGroups свойство как объект. Свойство TemplateGroupCollection обычно используется только узлом разработки, например Visual Studio 2005.

Коллекция динамически увеличивается по мере добавления объектов. Индексы в этой коллекции основаны на нулях. Используйте свойство, Count чтобы определить, сколько групп находится в коллекции.

Кроме того, используйте TemplateGroupCollection методы и свойства для предоставления следующих функциональных возможностей:

  • Метод Add добавления одной группы в коллекцию.

  • Метод Insert добавления группы по определенному индексу в коллекции.

  • Метод Remove удаления группы.

  • Метод RemoveAt удаления группы по определенному индексу.

  • Метод Contains , определяющий, находится ли определенная группа в коллекции.

  • Метод IndexOf , извлекающий индекс группы в коллекции.

  • Индексатор Item[] для получения или задания группы по определенному индексу с использованием нотации массива.

  • Метод AddRange для добавления нескольких групп в коллекцию.

    Можно добавить несколько групп в виде массива групп или в качестве объекта, извлекаемого TemplateGroupCollection с помощью TemplateGroups свойства другого конструктора элементов управления.

  • Метод Clear удаления всех групп из коллекции.

Конструкторы

TemplateGroupCollection()

Инициализирует новый экземпляр класса TemplateGroupCollection.

Свойства

Count

Возвращает количество объектов TemplateGroup в коллекции.

Item[Int32]

Получает или задает объект TemplateGroup с указанным индексом в коллекции.

Методы

Add(TemplateGroup)

Добавляет заданный объект TemplateGroup в конец коллекции.

AddRange(TemplateGroupCollection)

Добавляет группы шаблонов в существующий объект TemplateGroupCollection в текущий объект TemplateGroupCollection.

Clear()

Удаляет все группы из коллекции.

Contains(TemplateGroup)

Определяет, содержится ли в коллекции заданная группа.

CopyTo(TemplateGroup[], Int32)

Копирует группы в коллекции в совместимый одномерный массив, начиная с заданного индекса целевого массива.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IndexOf(TemplateGroup)

Возвращает индекс указанного объекта TemplateGroup в коллекции.

Insert(Int32, TemplateGroup)

Вставляет объект TemplateGroup в коллекцию по указанному индексу.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Remove(TemplateGroup)

Удаляет указанный объект TemplateGroup из коллекции.

RemoveAt(Int32)

Удаляет объект TemplateGroup с заданным индексом из коллекции.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Описание этого члена см. в разделе CopyTo(Array, Int32).

ICollection.Count

Описание этого члена см. в разделе Count.

ICollection.IsSynchronized

Описание этого члена см. в разделе IsSynchronized.

ICollection.SyncRoot

Описание этого члена см. в разделе SyncRoot.

IEnumerable.GetEnumerator()

Описание этого члена см. в разделе GetEnumerator().

IList.Add(Object)

Описание этого члена см. в разделе Add(Object).

IList.Clear()

Описание этого члена см. в разделе Clear().

IList.Contains(Object)

Описание этого члена см. в разделе Contains(Object).

IList.IndexOf(Object)

Описание этого члена см. в разделе IndexOf(Object).

IList.Insert(Int32, Object)

Описание этого члена см. в разделе Insert(Int32, Object).

IList.IsFixedSize

Описание этого члена см. в разделе IsFixedSize.

IList.IsReadOnly

Описание этого члена см. в разделе IsReadOnly.

IList.Item[Int32]

Описание этого элемента см. в методе IList.

IList.Remove(Object)

Описание этого члена см. в разделе Remove(Object).

IList.RemoveAt(Int32)

Описание этого члена см. в разделе RemoveAt(Int32).

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

Применяется к

См. также раздел