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


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



Реализация метода RemoveStale
8 февраля 2009

Создание метода RemoveStale
1. В классе DoughnutMachine объявите структуру, которая способна представлять
группу любого размера, включающую любые виды пончиков. Вот пример реа-
лизации такой структуры:
Visual Basic .NET
Public Structure DoughnutGroup
Public RaisedGlazed As Integer
Public RaisedSugar As Integer
Public RaisedChocolate As Integer
Public CakePlain As Integer
Public CakeChocolate As Integer
Public CakeSugar As Integer
Public FilledLemon As Integer
Public FilledGrape As Integer
Public FilledCustard As Integer
End Structure
Visual C#
public struct DoughnutGroup
{
public int RaisedGlazed;
public int RaisedSugar;
public int RaisedChocolate;
public int CakePlain;
public int CakeChocolate;
public int CakeSugar;
public int FilledLemon;
public int FilledGrape;
public int FilledCustard;
}
2. Определите в классе DoughnutMachine метоп, проверяющий «срок годности» всех
пончиков в наборе. Пончики, пролежавшие на складе слишком долго, следует
удалить из набора. Этот метод должен возвращать экземпляр структуры DoughnutGroup,
уведомляющий о количестве и видах удаленных пончиков.
Visual Basic .NET
Public Function RemoveStaleO As DoughnutGroup
Dim myGroup As New DoughnutGroupO
Dim Counter As Integer
Dim UpperBound As Integer
UpperBound = mDoughnuts.Count - 1
Dim myTimeSpan As TimeSpan
For Counter - 0 To UpperBound
myTimeSpan = Now.Subtract(inDoughnuts(UpperBound -
Counter).TimeOfCreation)
If myTimeSpan.TotalMinutes >= 10 Ther
Select Case mDoughnutsdlpperBound - Counter).Flavor
Case DoughnutType.Chocolate
myGroup.RaisedChocolate += 1
Case DoughnutType.ChocolateCake
myGroup.CakeChocolate += 1
Case DoughnutType.Custard
myGroup.FilledCustard +- 1
Case DoughnutType.Glazed
myGroup.RaisedGlazed += 1
Case DoughnutType.Grape
myGroup.FilledGrape += 1
Case DoughnutType.Lemon
myGroup. FilledLernon += 1
Case DoughnutType.PlainCake
myGroup.CakePlain += 1
Case DoughnutType.Sugar
myGroup.RaisedSugar += 1
Case DoughnutType.SugarCake
myGroup,CakeSugar += 1
End Select
m.Doughnuts.RemoveAt(UpperBound - Counter)
End If
Next
Return myGroup
End Function
Visual C#
public DoughnutGroup RemoveStaleO
DoughnutGroup myGroup = new DoughnutGroupC);
int UpperBound;
UpperBound = mDoughnuts.Count - 1;
TirneSpan myTimeSpan;
for(int Counter = 0; Counter <= UpperBound; Counter++)
myTimeSpan -
System.DateTime.Now.Subtract(mDoughnutstUpperBound -
Counter].TimeOfCreation);
if(myTimeSpan.TotalMinutes >= 10)
switch(mDoughnuts[l)pperBound - Counter]. Flavor)
I
case DoughnutType.Chocolate:
myGroup.RaisedChocolate ++;
break;
case DoughnutType.ChocolateCake:
myGroup.CakeChocolate ++;
break;
case DoughnutType. Custard:
myGroup. FilledCustard ++;
break;
case DoughnutType. Glazed:
myGroup. RaisedGlazed ++;
break;
case DoughnutType. Grape:
myGroup. FilledGrape ++;
break;
case DoughnutType. Lemon:
myGroup. FilledLemon ++;
break;
case DoughnutType. PlainCake:
myGroup. CakePlain ++;
break;
case DoughnutType. Sugar:
myGroup. RaisedSugar ++;
break;
case DoughnutType. SugarCake:
myGroup. CakeSugar ++;
break;
}
mDoughnuts. RemoveAt(UpperBound - Counter);
3. Добавьте к форме frmMain обработчик события Click элемента тпи Remove Stale,
который при удалении пончиков будет вызывать метод RemoveState объекта
Doughnut Machine и обновлять соответствующие элементы управления пользова-
тельского интерфейса. Вот пример кода этого метода:
Visual Basic .NET
Private Sub mnuRemoveStale_Click(6yVal sender As System. Object,
ByVal e As System. EventArgs) Handles mnuRemoveStale. Click
Dim aDoughnutGroup As DoughnutMachine.DoughnutGroup
aDoughnutGroup = myDoughnutMachine.RerrioveStale()
mRaisedGlazed = mflaisedGlazed - aDoughnutGroup. RaisedGlazed
rnRaiseaSugar - mRaisedSugar - aDoughnutGroup. RaisedSugar
mRaisedCnocolate = rnRaisedChocolate - aDoughnutGroup. RaisedChocolate
mCakePlain = mCakePlain - aDoughnutGroup. CakePlain
nCakeChocolate = mCakeChocolate - aDoughnutGroup. CakeChocolate
mCakeSugar = mCakeSugar - aDoughnutGroup. CakeSugar
iiFilledLemon = mFilledLemon - aDoughnutGroup. FilledLemon
mFilledGrape = mFilledGrape - aDoughnutGroup.FilledGrape
rriFilledCustard - mFilledCustard - aDoughnutGroup. FilledCustard
txtGlazedRaised.Text = mRaisedGlazed.ToString
txtSugarRaised.Text = mRaisedSugar.ToString
txtchocolateRaised.Text = rnRaisedChocolate.ToString
txtcustardFilled.Text = mFilledCustard.ToString
txtGrapeFilled.Text = mFilledGrape.ToString
txtLemonFilled.Text = mFilledLemon.ToString
txtChocolateCake.Text = niCakeChocolate.ToString
txtPlainCake.Text = mCakePlain.ToString
txtSugarCake.Text = mCakeSugar.ToString
End Sim
Visual C#
private void mnuRemoveStale_Click(ob3ect sender, System.EventArgs e)
{
DoughnutMachine.DoughnutGroup aDoughnutGroup;
aDoughnutGroup = myDoughnutMachine.RemoveStale();
mRaisedGlazed = mRaisedGlazed - aDoughnutGroup.RaisedGlazed;
mRaisedSugar - mRaisedSugar - aDoughnutGroup.RaisedSugar;
mRaisedChocolate ~ tnRaisedChocolate -
aDoughnutGroup.RaisedChocolate;
mCakePlain = mCakePlain - aDoughnutGroup.CakePlain;
rnCakeChocolate = mCakeChocolate - aDoughnutGroup.CakeChocolate;
mCakeSugar = mCakeSugar - aDoughnutGroup.CakeSugar;
rnFilledLemon - m Filled Lemon - aDoughnutGroup. FilledLemon;
mFilledGrape = mFilledGrape - aDoughnutGroup.FilledGrape;
mFilledCustard = mFilledCustard - aDoughnutGroup.FilledCustard;
txtGlazedRaised.Text - mRaisedGlazed.ToStringO;
txtSugarRaised.Text = mRaisedSugar.ToStringO;
txtchocolateRaised.Text = mRaisedCnocolate. ToStringO;
txtcustardFilled.Text = mFilledCustard.ToStringO;
txtGrapeFilled-Text - mFilledGrape.ToStringO;
txtLemonFilled.Text - mFilledLemon.ToStringO;
txtChocolateCake.Text = mCakeChocolate.ToStringO;
txtPlainCake.Text = mCakePlain.ToStringO;
txtSugarCake.Text = mCakeSugar.ToStringO;
}
4. Сохраните проект и протестируйте его.


Теги: .NET

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

Стандартная система типов CTS
Применение отладочных инструментов
Объектные модели
Создание производных элементов управления
Двоичные файлы .NET
Свойства, доступные только для чтения или только для записи
Тестирование элемента управления
Использование шаблонов кода
Реализация полиморфизма через интерфейсы
Общие (статические) члены
Добавление элементов управления на панель Toolbox
ToDoList 5.6.6
Создание обработчиков событий элементов управления
Создание DataAdapter с помощью мастера Data Adapter Configuration Wizard
Окна Locals, Autos и Watch
| .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 | Реализация метода RemoveStale. Регион сайта: Москва и Санкт-Петербург