コード例 #1
0
        public void UnPackTest2()
        {
            KPPDataHead  head   = new KPPDataHead();
            MemoryStream stream = new MemoryStream();

            head.SetField("CRC", 100L);
            head.SetField("SectionCount", (ushort)1);
            head.Pack(stream);
            byte[] buffer = stream.ToArray();
            byte[] data   = new byte[stream.Length];
            Buffer.BlockCopy(buffer, 0, data, 0, data.Length);
            Assert.IsNotNull(data);
            Assert.IsTrue(data.Length == 21);
            Assert.IsTrue(data[0] == 'K');
            Assert.IsTrue(data[1] == 'P');
            Assert.IsTrue(data[2] == 'P');
            //reset postition.
            stream.Position = 0;
            KPPDataHead newHead = new KPPDataHead();

            newHead.UnPack(stream);
            Assert.IsTrue(newHead.GetField <ulong>("TotalSize") == 0UL);
            Assert.IsTrue(newHead.GetField <long>("CRC") == 100L);
            Assert.IsTrue(newHead.GetField <ushort>("SectionCount") == 1);
        }
コード例 #2
0
 /// <summary>
 ///    在数据头中获取具有指定名称字段数据信息
 /// </summary>
 /// <typeparam name="T">字段数据信息类型</typeparam>
 /// <param name="name">字段名</param>
 /// <returns>返回指定名称所代表的数据信息</returns>
 /// <exception cref="KeyNotFoundException">指定的KEY不存在</exception>
 public T GetHeadField <T>(string name)
 {
     return(_head.GetField <T>(name));
 }