示例#1
0
        /// <summary>
        /// 移除某个总线地址的子设备
        /// </summary>
        /// <param name="device"></param>
        public void Remove(int dialCode)
        {
            SubDevice d = _SubDevices[dialCode];

            if (d != null)
            {
                _SubDevices[dialCode] = null;
            }
        }
示例#2
0
 /// <summary>
 /// 改变子设备的拨码地址改,不成功时返回false,而不是抛出异常
 /// </summary>
 /// <param name="device"></param>
 /// <param name="newDialCode"></param>
 /// <returns></returns>
 public bool TryMove(SubDevice device, int newDialCode)
 {
     try
     {
         Move(device, newDialCode);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#3
0
 /// <summary>
 /// 增加子设备,不成功时返回false,而不是抛出异常
 /// </summary>
 /// <param name="device"></param>
 /// <returns></returns>
 public bool TryAdd(SubDevice device)
 {
     try
     {
         Add(device);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#4
0
        /// <summary>
        /// 改变子设备的拨码地址改
        /// </summary>
        /// <param name="device"></param>
        /// <param name="newDialCode"></param>
        public void Move(SubDevice device, int newDialCode)
        {
            int dialCode = device.DialCode;

            if (newDialCode >= 0 && newDialCode < _SubDevices.Length)
            {
                if (_SubDevices[newDialCode] == null)
                {
                    Remove(device.DialCode);
                    device.DialCode          = newDialCode;
                    _SubDevices[newDialCode] = device;
                }
                else
                {
                    throw new InvalidOperationException(string.Format("总线地址{0}下已经存在设备", device.DialCode));
                }
            }
            else
            {
                throw new InvalidOperationException(string.Format("无效的总线地址{0}", device.DialCode));
            }
        }
示例#5
0
 /// <summary>
 /// 增加子设备
 /// </summary>
 /// <param name="device"></param>
 public void Add(SubDevice device)
 {
     if (device.DialCode >= 0 && device.DialCode < _SubDevices.Length)
     {
         if (_SubDevices[device.DialCode] == null)
         {
             _SubDevices[device.DialCode] = device;
             device.Parent = this.Parent;
             device.BusNum = this._BusNum;
             if (this.Parent != null)
             {
                 device.ParentID = this.Parent.ID;
             }
         }
         else
         {
             throw new InvalidOperationException(string.Format("总线地址{0}下已经存在设备", device.DialCode));
         }
     }
     else
     {
         throw new InvalidOperationException(string.Format("无效的总线地址{0}", device.DialCode));
     }
 }
示例#6
0
 public ParkingGuideBus(int num, int capacity)
 {
     _BusNum     = num;
     _SubDevices = new SubDevice[capacity];
 }