Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Создание класса строго типизированного набора на основе класса CollectionBase
8 февраля 2009

Сейчас вы создадите класс набора, который воспринимает и возвращает
исключительно экземпляры класса Doughnut, объявив производный класс
на основе класса CollectionBase из .NET Framework. Вы напишете реализа-
цию для методов Add и Remove, а также для свойства Item, включив в нее
код, обеспечивающий добавление к набору и извлечение из него только
объектов типа Doughnut. Вы также модифицируете код приложения Doughnut
Factory, чтобы оно могло использовать новый класс набора.
>• Создание класса строго типизированного набора
1. В меню Project выберите команду Add Class — откроется окно Add New Item.
Назовите класс DoughnutCollection.vb или DoughnutCollection.es и щелкните (.Ж —
откроется окно редактора кола с заготовкой нового класса.
2. Сделайте новый класс потомком System. Collections. CollectionBase, добавив к нему
следующий код:
Visual Basic .NET
Public Class DoughnutCollection
Inherits System.Collections.CollectionBase
End Class
Visual C#
public class DoughtnutCollection : System.Collections.CollectionBase
{
!
3. Создайте метод Add, который будет добавлять элементы к набору. Этот метод
должен принимать объекты Doughnut в качестве параметра и вызывать метод Add
внутреннего объекта List.
Visual Basic .NET
Public Sub Add(ByVal aDoughnut As DoughnutMachine. Doughnut)
List.Add(aDoughnut)
End Sub
Visual C#
public void Add(DoughnutMachine, Doughnut aDoughnut)
{
List.Add(aDoughnut);
!
4. Напишите доступный только для чтения индексатор (С#) или свойство по умол-
чанию с именем Item (Visual Basic), возвращающее объект Doughnuts заданным
индексом. Заметьте: элементы объекта List хранятся, как объекты типа Object,
поэтому вам потребуется явно преобразовать привести элемент набора к типу
Doughnut, прежде чем возвращать его. Это можно сделать так:
Visual Basic .NET
Default Public Readonly Property Itern(ByVal Index As Integer)
Get
Return CType( List. Item (Index). DoughnutMachine. Doughnut)
End Get
End Property
Visual C#
public DoughnutMachine. Doughnut this[int index]
{
get
!
return (DoughnutMachine. Doughnut )Li$t[index];
5. Напишите метод, который будет удалять из набора объект Doughnut. Этот метод
должен принимать объект Doughnut, его следует реализовать как оболочку для
метода List. Remove. Вот пример:
Visual Basic .NET
Public Sub Remove(ByVal aDoughnut As DoughnutMachine. Doughnut)
Проверить, является ли заданный объект Doughnut членом набора
If List.Contains(aDoughnut) - True Then
Удалить заданный объект Doughnut
List. Remove(aDoughnut)
End If
End Sub
Visual C#
public void RernoveCDoughnutMachine. Doughnut aDoughnut)
!
if (List.Contains(aDoughnut) == true)
{
List. Rercove(aDoughnut);
6. Откройте код класса DoughnutMachine, найдите строку, в которой объявляется
закрытая переменная mDoughnuts, и измените ее так, чтобы в ней можно было
хранить экземпляр класса DoughnutCollection:
Visual Basic .NET
Private mDoughnuts As New DoughnutCollection()
Visual C#
private DoughnutCollection mDoughnuts = new DoughnutCollection();
7. Измените свойство Doughnuts, чтобы оно получило возможность взаимодейство-
вать с новым объектом DoughnutCollection, например, так:
Visual Basic .NET
Default Public Property Doughnuts(ByVal Index As Integer) As Doughnut
Get
Return mOoughnuts(Index)
End Get
SetfByVal Value As Doughnut)
mDoughnuts. Add{ Value)
End Set
End Property
Visual C#
public Doughnut this[int Index]
{
get
{
return mDougnnuts[Index];
}
set
{
rnDoughniJts.Add{ value):
i


Теги: .NET

Статьи по теме:

Модификаторы доступа к членам
Редактор нестандартных действий
Пошаговое исполнение кода
Применение методов формы
Команды для манипулирования данными
Добавление элементов управления на панель Toolbox
Замыкания (closure)
Назначение значка элементу управления
Добавление элементов управления на панель Toolbox
Автоматизация разработки
Редактор реестра
Объекты и члены
Защита приложений
Работа с мастером Data Form
Специальные возможности и логотип «Certified for Windows»
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Создание класса строго типизированного набора на основе класса CollectionBase. Регион сайта: Москва и Санкт-Петербург