private Hashtable RebuildDict(IMPObject mpObj) { Hashtable hashtable = new Hashtable(); foreach (string str in mpObj.GetKeys()) { hashtable[str] = UnwrapField(mpObj.GetData(str)); } return(hashtable); }
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); }
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); } }