namespace Bro.Common.Procedure { /// /// 基础单元 /// public class UnitBase { #region 枚举 /// /// 单元模块状态定义 /// public enum UnitStat { DSUninit = 0, // 未初始化 DSInit, // 已初始化 DSOpen, // 已打开 DSClose, // 已关闭 DSExcept // 异常状态 } #endregion #region 常量定义 #endregion #region 设备基本属性 // 设备描述 public string Desp { get;set; } // 设备状态 public UnitStat Stat { get;set;} // 设备是否初始化 public bool IsInit { get { return UnitStat.DSInit == this.Stat; } } // 设备是否打开 public bool IsOpen { get { return UnitStat.DSOpen == this.Stat;} } // 设备ID(可用来唯一指定本设备) public int Id { get;set; } // 设备异常描述 public string ExceptionDesp { get;set;} // 设备携带数据 public object Data { get;set; } #endregion /// /// 设备构造函数 /// /// 使用了默认的设备id /// public UnitBase() { // 默认描述 this.Desp = this.GetType().Name; // 初始状态 this.Stat = UnitStat.DSUninit; // 默认单元ID this.Id = this.GetHashCode(); } #region 基本动作 /// /// 设备初始化 /// /// public virtual bool Init() { Stat = UnitStat.DSInit; return true; } /// /// 设备销毁 /// public virtual void Fnit() { Stat = UnitStat.DSUninit; } /// /// 设备打开 /// /// public virtual bool Open() { Stat = UnitStat.DSOpen; return true; } /// /// 设备关闭 /// public virtual void Close() { Stat = UnitStat.DSClose; } /// /// 打开前动作 /// public virtual void OnBeforeOpen() { } /// /// 打开后动作 /// public virtual void OnAfterOpen() { } /// /// 关闭前动作 /// public virtual void OnBeforeClose() { } /// /// 关闭后动作 /// public virtual void OnAfterClose() { } #endregion } }