Главная » C#, Компоненты » Обобщения

0

Чтобы не путаться с понятиями, я буду переводить слово generic как "обобщение". По сути обобщения похожи и на шаблоны (templates), и на макросы (macros), но будет проще, если использовать для них отдельное понятие. Упрощенно говоря, обобщения обеспечивают программисту возможность определения "заполнителей" (параметров типа) для аргументов методов и определений типов, которые будут конкретизированы во время вызова обобщенного метода или при создании обобщенного типа (см. [6]). Попробуем описать компонент-обобщение:

public class TestControl<T> : Control

{

private T test;

public T Test {

get { return test; } set { test = value; }

}

}

Тип т используется и для типа компонента, и для описания свойства. Разумеется, такой компонент не появится в палитре компонентов, зато его наследники, реализованные для конкретного типа, вполне работоспособны:

public class Componentl : TestControl<int> {

} public class Component2 : TestControl<string>

{

}

Рис. 12.5. Редактор Person Collection Editor

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии