SecsValue 类 |
命名空间: HslCommunication.Secs.Types
SecsValue 类型公开以下成员。
名称 | 说明 | |
---|---|---|
SecsValue |
实例化一个空的SECS对象
| |
SecsValue(Boolean) |
从一个类型为 Boolean 的对象初始化数据
| |
SecsValue(Boolean) |
从一个类型为 Boolean 的对象初始化数据
| |
SecsValue(Byte) |
从一个类型为 Byte 的对象初始化数据
| |
SecsValue(Byte) |
从一个类型为 Byte 数组的对象初始化数据,需要指定 SecsItemType 来表示二进制还是byte数组类型
| |
SecsValue(IEnumerableObject) |
从一个类型为 Object 数组的对象初始化数据,初始化后,本对象为 List 类型
| |
SecsValue(Double) |
从一个类型为 Double 的对象初始化数据
| |
SecsValue(Double) |
从一个类型为 Double 的对象初始化数据
| |
SecsValue(Int16) |
从一个类型为 Int16 的对象初始化数据
| |
SecsValue(Int16) |
从一个类型为 Int32 的对象初始化数据
| |
SecsValue(Int32) |
从一个类型为 Int32 的对象初始化数据
| |
SecsValue(Int32) |
从一个类型为 Int32 的对象初始化数据
| |
SecsValue(Int64) |
从一个类型为 Int64 的对象初始化数据
| |
SecsValue(Int64) |
从一个类型为 Int64 的对象初始化数据
| |
SecsValue(SByte) |
从一个类型为 SByte 的对象初始化数据
| |
SecsValue(SByte) |
从一个类型为 SByte 的对象初始化数据
| |
SecsValue(Single) |
从一个类型为 Single 的对象初始化数据
| |
SecsValue(Single) |
从一个类型为 Single 的对象初始化数据
| |
SecsValue(String) |
从一个字符串对象初始化数据信息
| |
SecsValue(String) |
从一个字符串数组对象初始化数据信息
| |
SecsValue(UInt16) |
从一个类型为 UInt16 的对象初始化数据
| |
SecsValue(UInt16) |
从一个类型为 UInt16 的对象初始化数据
| |
SecsValue(UInt32) |
从一个类型为 UInt32 的对象初始化数据
| |
SecsValue(UInt32) |
从一个类型为 UInt32 的对象初始化数据
| |
SecsValue(UInt64) |
从一个类型为 UInt64 的对象初始化数据
| |
SecsValue(UInt64) |
从一个类型为 UInt64 的对象初始化数据
| |
SecsValue(XElement) |
从完整的XML元素进行实例化一个对象
| |
SecsValue(SecsItemType, Object) |
通过指定的参数类型及值信息,来实例化一个对象 Instantiate an object by specifying the parameter type and value information | |
SecsValue(SecsItemType, Object, Int32) |
通过指定的参数类型及值信息,来实例化一个对象 Instantiate an object by specifying the parameter type and value information |
名称 | 说明 | |
---|---|---|
CreateListSecsValue |
从一个对象数组里创建一个secsvalue对象
| |
EmptyListValue |
获取空的列表信息
| |
EmptySecsValue |
获取空的对象信息
| |
Equals | Determines whether the specified object is equal to the current object. (继承自 Object。) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (继承自 Object。) | |
GetHashCode | Serves as the default hash function. (继承自 Object。) | |
GetType | Gets the Type of the current instance. (继承自 Object。) | |
GetValueLength |
获取当前的 SecsValue 的数据长度信息
| |
MemberwiseClone | Creates a shallow copy of the current Object. (继承自 Object。) | |
ParseFromSource |
从原始的字节数据中解析出实际的 SecsValue 对象内容。
| |
ToSourceBytes |
当前的对象信息转换回实际的原始字节信息,方便写入操作
| |
ToSourceBytes(Encoding) |
使用指定的编码将当前的对象信息转换回实际的原始字节信息,方便写入操作
| |
ToSourceCode |
获取当前 SecsValue 对象的源代码表示方式,可以直接复制生成同等对象 Obtain the source code representation of the current SecsValue object, and you can directly copy and generate an equivalent object | |
ToString | Returns a string that represents the current object. (重写 ObjectToString.) | |
ToVaruableNames |
将当前的对象转为 VariableName 数组对象信息,也就是标签名列表
| |
ToXElement |
获取当前数值的XML表示形式
|
名称 | 说明 | |
---|---|---|
ToJsonString |
获取当前对象的JSON格式表示的字符串。 (由 HslExtension 定义。)Gets the string represented by the JSON format of the current object. |
public void Sample2( ) { // 按照事例逐级提供演示 // 1. 最简单的 SVID "U4:1 810" SecsValue secsValue = new SecsValue( (uint)810 ); // 2. 字符串信息 SPNAME Example: "A:10 {BatchLocID}" secsValue = new SecsValue( "BatchLocID" ); // 3. 如果是 SVID的列表 {L:n SVID } secsValue = new SecsValue( new object[] { (uint)810 } ); // 多几个数据,就塞几个SVID // 4. 多个数据的 S1F13R // {L2 // MDLN // SOFTREV // } secsValue = new SecsValue( new object[] { "gemsim", "1.0" } ); // 5. 每种数据类型不一样,还支持嵌套行为,例如 S1F19R Get Attribute // {L:3 // OBJTYPE // {L:m // OBJID // } // {L:n // ATTRID // } //} // 我们假设有两个ID及两个特性ID需要读取,假设这些ID都是以字符串的形式的 secsValue = new SecsValue( new object[] { "A Carrier", new object[] { "Job0001", "Job0002" }, new object[] { "SourceURL", "SourceURL2" } } ); // 我们看到层级关系是一致的,而且object[]即表示列表,所有的数据可以层级嵌套。 // 下面简单的举例各种类型的实例化 secsValue = new SecsValue( true ); // Bool型 secsValue = new SecsValue( (sbyte)1 ); // I1 secsValue = new SecsValue( (byte)1 ); // U1 secsValue = new SecsValue( (short)1 ); // I2 secsValue = new SecsValue( (ushort)1 ); // U2 secsValue = new SecsValue( 1 ); // I4 secsValue = new SecsValue( (uint)1 ); // U4 secsValue = new SecsValue( (long)1 ); // I8 secsValue = new SecsValue( (ulong)1 ); // U8 secsValue = new SecsValue( (float)1 ); // F4 secsValue = new SecsValue( (double)1 ); // F8 secsValue = new SecsValue( "ABCD" ); // ASCII secsValue = new SecsValue( new string[] { "ABCD", "DEEG" } ); // 一个list,多个string元素 secsValue = new SecsValue( new byte[] { 0x01, 0x02, 0x03 } ); // Binary // 特别说明 secsValue = new SecsValue( ); // 默认的构造方法为空的secsvalue,没有任何的数据 // XML序列化和反序列化 secsValue = new SecsValue( new object[] { "gemsim", "1.0" } ); System.Xml.Linq.XElement element = secsValue.ToXElement( ); // 生成XML,可用于显示,存储,数据发送 SecsValue secsValueAgain = new SecsValue( element ); // 从XML进行实例化,数据是一模一样的 // 二进制的序列化和反序列化也是支持 secsValue = new SecsValue( new object[] { "gemsim", "1.0" } ); byte[] source = secsValue.ToSourceBytes( ); // 二进制的容量更小,可以直接当为data,发送到设备 secsValueAgain = SecsValue.ParseFromSource( source, Encoding.ASCII ); // 反序列化回来 }