Додавання кімнат до угруповань програми управління освітленням в Visual C # (Sharp)

Дескриптор даних, певний при додаванні угруповання, застосовується для додавання кімнати до угруповання Даний дескриптор надає посилання, яка може бути використана ядром Так як даний дескриптор є еемпляром типу RoomGrouping, то при додаванні кімнати до угруповання, викорис дескриптор, шукати це угруповання немає необхідності Дескриптор є угрупованням, і потрібно всього лише виконати приведення типів У слующем коді показано додавання кімнати до кімнатної угрупованню:

public void AddRoomToGrouping(object grouping, IRoom room) {

RoomGrouping roomGrouping = grouping as RoomGrouping if (roomGrouping == null)  {

throw new Exception (Угруповання дескриптора не є +

“Дійсним екземпляром кімнатної + Угрупування)

}

Room oldRooms = roomGroupingRooms as Room if (oldRooms == null) {

roomGroupingRooms = new Room { ObjRoom = room }

}

else {

roomGroupingRoomsInsert(new Room { ObjRoom = room })

}

}

У реалізації методу AddRoomToGrouping () першим ділом виконується приведення угруповання дескриптора до примірника RoomGrouping Для приведення іспользуея оператор as Так що в разі неуспішного приведення необхідно тільки прерії, не дорівнює чи null значення змінної roomGrouping Виконання Прово на значення null є досить важливим в іншому випадку можуть виконатися операції, що викликають винятки

Після приведення дескриптора до примірника RoomGrouping додати кімнату в звязаний список не складає жодних проблем Для цього потрібно тільки нначіть перший елемент для порожнього списку або викликати метод insert про, якщо у списку вже є кімнати

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*