namespace Bro.Common.Procedure
|
{
|
/// <summary>
|
/// 基础单元
|
/// </summary>
|
public class UnitBase
|
{
|
|
#region 枚举
|
/// <summary>
|
/// 单元模块状态定义
|
/// </summary>
|
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
|
|
/// <summary>
|
/// 设备构造函数
|
///
|
/// 使用了默认的设备id
|
/// </summary>
|
public UnitBase()
|
{
|
// 默认描述
|
this.Desp = this.GetType().Name;
|
// 初始状态
|
this.Stat = UnitStat.DSUninit;
|
// 默认单元ID
|
this.Id = this.GetHashCode();
|
}
|
|
#region 基本动作
|
/// <summary>
|
/// 设备初始化
|
/// </summary>
|
/// <returns></returns>
|
public virtual bool Init()
|
{
|
Stat = UnitStat.DSInit;
|
|
return true;
|
}
|
|
/// <summary>
|
/// 设备销毁
|
/// </summary>
|
public virtual void Fnit()
|
{
|
Stat = UnitStat.DSUninit;
|
}
|
|
/// <summary>
|
/// 设备打开
|
/// </summary>
|
/// <returns></returns>
|
public virtual bool Open()
|
{
|
Stat = UnitStat.DSOpen;
|
|
return true;
|
}
|
|
/// <summary>
|
/// 设备关闭
|
/// </summary>
|
public virtual void Close()
|
{
|
Stat = UnitStat.DSClose;
|
}
|
|
/// <summary>
|
/// 打开前动作
|
/// </summary>
|
public virtual void OnBeforeOpen()
|
{
|
|
}
|
|
/// <summary>
|
/// 打开后动作
|
/// </summary>
|
public virtual void OnAfterOpen()
|
{
|
|
}
|
|
/// <summary>
|
/// 关闭前动作
|
/// </summary>
|
public virtual void OnBeforeClose()
|
{
|
|
}
|
|
/// <summary>
|
/// 关闭后动作
|
/// </summary>
|
public virtual void OnAfterClose()
|
{
|
|
}
|
|
#endregion
|
|
}
|
}
|