Пример #1
0
        private Hashtable RebuildDict(IMPObject mpObj)
        {
            Hashtable hashtable = new Hashtable();

            foreach (string str in mpObj.GetKeys())
            {
                hashtable[str] = UnwrapField(mpObj.GetData(str));
            }
            return(hashtable);
        }
Пример #2
0
 private ByteArray Obj2bin(IMPObject obj, ByteArray buffer)
 {
     foreach (string str in obj.GetKeys())
     {
         MPDataWrapper data = obj.GetData(str);
         buffer = EncodeMPObjectKey(buffer, str);
         buffer = EncodeObject(buffer, data.Type, data.Data);
     }
     return(buffer);
 }
Пример #3
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);
     }
 }