#region copyright //------------------------------------------------------------------------------ // 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充 // 此代码版权(除特别声明外的代码)归作者本人Diego所有 // 源代码使用协议遵循本仓库的开源协议及附加协议 // Gitee源代码仓库:https://gitee.com/diego2098/ThingsGateway // Github源代码仓库:https://github.com/kimdiego2098/ThingsGateway // 使用文档:https://diego2098.gitee.io/thingsgateway-docs/ // QQ群:605534569 //------------------------------------------------------------------------------ #endregion using TouchSocket.Core; namespace ThingsGateway.Application; /// /// 特殊方法变量信息 /// public class DeviceVariableMethodSource { /// /// 间隔时间实现 /// private readonly TimerTick exTimerTick; /// /// 传入连读间隔 /// /// public DeviceVariableMethodSource(int milliSeconds = 1000) { exTimerTick = new TimerTick(milliSeconds); Converter = new StringConverter(); Converter.Add(new StringToEncodingConverter()); } /// /// 字符串转换器,默认支持基础类型和Json。可以自定义。 /// public StringConverter Converter { get; } /// /// 需分配的变量 /// public DeviceVariableRunTime DeviceVariable { get; set; } = new(); /// /// 方法 /// public Method MethodInfo { get; set; } /// /// 需要传递token /// public bool HasTokenObj { get; set; } /// /// 方法参数 /// public object[] MethodObj { get; set; } /// /// 地址参数,以;分割参数值 /// public string MethodStr { get; set; } /// /// 检测是否达到读取间隔 /// /// /// public bool CheckIfRequestAndUpdateTime(DateTime time) => exTimerTick.IsTickHappen(time); }