Главная » C# » Добавление комнат к группировкам приложения управления освещением в Visual C# (Sharp)

0

Дескриптор данных, определенный при добавлении группировки, применяется для добавления комнаты к группировке. Данный дескриптор предоставляет ссылку, которая может быть использована ядром. Так как данный дескриптор является эемпляром типа RoomGrouping, то при добавлении комнаты к группировке, исполующей дескриптор, искать данную группировку нет необходимости. Дескриптор является группировкой, и нужно всего лишь выполнить приведение типов. В слующем коде показано добавление комнаты к комнатной группировке:

public void AddRoomToGrouping(object grouping, IRoom room) {

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

throw new Exception("Группировка дескриптора не является " +

"действительным экземпляром комнатной " + "группировки");

}

Room oldRooms = roomGrouping.Rooms as Room; if (oldRooms == null) {

roomGrouping.Rooms = new Room { ObjRoom = room };

}

else {

roomGrouping.Rooms.Insert(new Room { ObjRoom = room });

}

}

В реализации метода AddRoomToGrouping () первым делом выполняется приведение группировки дескриптора к экземпляру RoomGrouping. Для приведения используея оператор as. Так что в случае неуспешного приведения необходимо только прерить, не равно ли null значение переменной roomGrouping. Выполнение провеи на значение null является весьма важным; в противном случае могут выполниться операции, вызывающие исключения.

После   приведения  дескриптора   к   экземпляру  RoomGrouping добавить   комнату в связанный список не составляет никаких проблем. Для этого нужно только нначить  первый  элемент  для  пустого  списка  или  вызвать  метод  insert о,  если в списке уже имеются комнаты.

Источник: Гросс  К. С# 2008:  Пер. с англ. — СПб.:  БХВ-Петербург, 2009. — 576 е.:  ил. — (Самоучитель)

По теме:

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