public Object ReadObject(AbstractHessianInput abstractHessianInput, object obj, string[] fieldNames) { try { SerializationInfo serializationInfo = new SerializationInfo(m_type, new FormatterConverter()); foreach (var fieldName in fieldNames) { serializationInfo.AddValue(fieldName, abstractHessianInput.ReadObject()); } obj = Instantiate(serializationInfo); int iref = abstractHessianInput.AddRef(obj); Object resolve = Resolve(abstractHessianInput, obj); if (obj != resolve) { abstractHessianInput.SetRef(iref, resolve); } return(resolve); } catch (IOException) { throw; } catch (Exception e) { throw new CHessianException(obj.GetType().FullName + ":" + e, e); } }
public Object ReadObject(AbstractHessianInput abstractHessianInput, Object obj, FieldDeserializer[] fields) { try { int iref = abstractHessianInput.AddRef(obj); foreach (FieldDeserializer reader in fields) { reader.Deserialize(abstractHessianInput, obj); } Object resolve = Resolve(abstractHessianInput, obj); if (obj != resolve) { abstractHessianInput.SetRef(iref, resolve); } return(resolve); } catch (IOException) { throw; } catch (Exception e) { throw new CHessianException(m_type.FullName + ":" + e.Message, e); } }
public Object ReadMap(AbstractHessianInput abstractHessianInput, Object obj) { try { int iref = abstractHessianInput.AddRef(obj); while (!abstractHessianInput.IsEnd()) { Object key = abstractHessianInput.ReadObject(); FieldDeserializer deser = (FieldDeserializer)_fieldMap[key]; if (deser != null) { deser.Deserialize(abstractHessianInput, obj); } else { abstractHessianInput.ReadObject(); } } abstractHessianInput.ReadMapEnd(); Object resolve = Resolve(abstractHessianInput, obj); if (obj != resolve) { abstractHessianInput.SetRef(iref, resolve); } return(resolve); } catch (IOException) { throw; } catch (Exception e) { throw new CHessianException(e.Message); } }
public Object ReadObject(AbstractHessianInput abstractHessianInput, Object obj, string[] fieldNames) { try { int iref = abstractHessianInput.AddRef(obj); foreach (var fieldName in fieldNames) { FieldDeserializer reader = (FieldDeserializer)_fieldMap[fieldName]; if (reader != null) { reader.Deserialize(abstractHessianInput, obj); } else { abstractHessianInput.ReadObject(); } } Object resolve = Resolve(abstractHessianInput, obj); if (obj != resolve) { abstractHessianInput.SetRef(iref, resolve); } return(resolve); } catch (IOException) { throw; } catch (Exception e) { throw new CHessianException(obj.GetType().FullName + ":" + e, e); } }
public Object ReadMap(AbstractHessianInput abstractHessianInput, Object obj) { try { SerializationInfo serializationInfo = new SerializationInfo(m_type, new FormatterConverter()); while (!abstractHessianInput.IsEnd()) { Object key = abstractHessianInput.ReadObject(); serializationInfo.AddValue((string)key, abstractHessianInput.ReadObject()); } abstractHessianInput.ReadMapEnd(); obj = Instantiate(serializationInfo); int iref = abstractHessianInput.AddRef(obj); Object resolve = Resolve(abstractHessianInput, obj); if (obj != resolve) { abstractHessianInput.SetRef(iref, resolve); } return(resolve); } catch (IOException) { throw; } catch (Exception e) { throw new CHessianException(e.Message); } }