Beispiel #1
0
 /// <summary>
 /// 反序列化数据
 /// </summary>
 /// <param name="reader"></param>
 /// <param name="context"></param>
 public override void DeserializeOwnedData(Serialization.SerializationReader reader, object context)
 {
     base.DeserializeOwnedData(reader, context);
     ServiceClassName = reader.ReadOptimizedString();
     MethodName       = reader.ReadOptimizedString();
     Parameters       = reader.ReadOptimizedObjectArray();
 }
Beispiel #2
0
        /// <summary>
        /// 将byte[]反序列化DataTable
        /// </summary>
        /// <param name="ListData"></param>
        /// <returns></returns>
        public List <T> Deserialize <T>(byte[] ListData) where T : DataObject, new()
        {
            if (ListData == null)
            {
                return(null);
            }
            List <T> DataList = new List <T>();

            using (Serialization.SerializationReader sr = new Serialization.SerializationReader(ListData))
            {
                Dictionary <string, int> Fields = new Dictionary <string, int>();
                BuildFieldDict(sr, Fields);
                while (sr.BytesRemaining != 0)
                {
                    T dataObject = new T();
                    dataObject.Fields = Fields;
                    dataObject.Data   = sr.ReadOptimizedObjectArray();
                    DataList.Add(dataObject);
                }
            }
            return(DataList);
        }