Beispiel #1
0
        internal ByteArray Array2Binary(IMPArray array)
        {
            ByteArray buffer = new ByteArray();

            buffer.WriteByte(Convert.ToByte(MPDataType.MP_ARRAY));
            buffer.WriteShort(Convert.ToInt16(array.Size()));
            return(Arr2bin(array, buffer));
        }
Beispiel #2
0
 private ByteArray Arr2bin(IMPArray array, ByteArray buffer)
 {
     for (int i = 0; i < array.Size(); i++)
     {
         MPDataWrapper wrappedElementAt = array.GetWrappedElementAt(i);
         buffer = EncodeObject(buffer, wrappedElementAt.Type, wrappedElementAt.Data);
     }
     return(buffer);
 }
Beispiel #3
0
        private ArrayList RebuildArray(IMPArray mpArr)
        {
            ArrayList list = new ArrayList();

            for (int i = 0; i < mpArr.Size(); i++)
            {
                list.Add(UnwrapField(mpArr.GetWrappedElementAt(i)));
            }
            return(list);
        }
Beispiel #4
0
 private void ConvertMPObject(IMPArray fieldList, object csObj, Type objType)
 {
     for (int i = 0; i < fieldList.Size(); i++)
     {
         IMPObject     sFSObject = fieldList.GetMPObject(i);
         string        utfString = sFSObject.GetUtfString(FIELD_NAME_KEY);
         MPDataWrapper data      = sFSObject.GetData(FIELD_VALUE_KEY);
         object        obj3      = UnwrapField(data);
         FieldInfo     field     = objType.GetField(utfString, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
         if (field == null)
         {
             throw new Exception(string.Format("The deserialized class ({0}) doesn't contain the field: {1}", objType.FullName, utfString));
         }
         field.SetValue(csObj, obj3);
     }
 }