public static ISerializable AsSerializable(this byte[] value, Type type) { if (!typeof(ISerializable).GetTypeInfo().IsAssignableFrom(type)) { throw new InvalidCastException(); } ISerializable serializable = (ISerializable)Activator.CreateInstance(type); using (MemoryStream ms = new MemoryStream(value, false)) using (BinaryReader reader = new BinaryReader(ms, Encoding.UTF8)) { serializable.Deserialize(reader); } return(serializable); }
/// <summary> /// Read serializable object from stream /// </summary> /// <param name="obj"></param> /// <param name="throwing"></param> /// <returns></returns> /// <exception cref="IOException"></exception> internal bool Read(ISerializable obj, bool throwing = true) { bool b; try { b = obj.Deserialize(stream); } catch { b = false; } if (!b && throwing) { throw new IOException("Can't read serializable object from internal pipe stream."); } return(b); }
public static ISerializable Read(this IReadableBuffer r, Func <ISerializable> creator) { bool noNull = r.ReadBool(); if (!noNull) { return(null); } if (creator == null) { return(null); } ISerializable obj = creator(); obj.Deserialize(r); return(obj); }
public ISerializable ReadObject() { if (readObject != null) { return(readObject); } Type type = Type.GetType(ReadString()); if (type == null) { return(null); } readObject = (ISerializable)Activator.CreateInstance(type); readObject.Deserialize(this); return(readObject); }
/// <summary> /// Инициализация окна предварительного просмотра изображения /// также сопоставление окна с камерой /// </summary> private void InitializePreview() { //Установить обновленные данные _ViewPreview.Text = this.CameraName; //Нужно сначала показать пользователю форму, после чего вставлять в нее видео _ViewPreview.Show(); //Привязка отображения к камере try { ICameraModel camera = _ModelSerializeDevice.Deserialize(SelectedCamera); _ModelLiveStream.SetVideoStreamInPanel(camera, _ViewPreview._VideoPanel); } catch (Exception) { IsStateSaved = false; MessageBox.Show($"Ошибка при установке камеры"); } }
} // End of ImplDeserializeEnumerable (...) protected virtual Object ImplDeserializeObject( IValueUnit objectVu, IHierarchicalMetadataSerializationContext context) { IValueUnit objCtxtLvl = null; ISerializable <IValueUnit> serMgr = null; ValueDomObjectSerializationManagerCollection serMgrColl = null; ObjectSerializationManagerDescr serMgrDescr = null; String typeName = null; IValueItem valueItem = null; if ((objCtxtLvl = context.Hierarchy.Peek() as IValueUnit) == null) { return(null); } if ((valueItem = objCtxtLvl ["SerializationManager"] as IValueItem) == null) { return(null); } if (valueItem.Value == null) { return(null); } if ((typeName = valueItem.Value.ToString()) == null) { return(null); } if ((serMgrColl = ValueDomObjectSerializationManagerCollection.Singleton) == null) { return(null); } if ((serMgrDescr = serMgrColl [typeName]) == null) { return(null); } return((serMgr = serMgrDescr.SerializationManager) == null ? null : serMgr.Deserialize(objectVu, context)); } // End of ImplDeserializeObject (...)
static public ComponentBase LoadFromStream(iCalObject parent, Stream s, Encoding encoding, ISerializable serializer) { Type iCalendarType = typeof(iCalendar); if (parent != null) { iCalendarType = parent.iCalendar.GetType(); } ComponentBase component = (ComponentBase) serializer.Deserialize(s, encoding, iCalendarType); if (parent != null) { parent.AddChild(component); } return(component); }
public T GetInterface <T>() where T : class, ISerializable { if (IsArray) { if (_array.Length == 0) { return(null); } return(_array[0].GetInterface <T>()); } if (_object == null) { if (_bytes == null) { return(null); } if (typeof(T) == typeof(Transaction)) { _object = Transaction.DeserializeFrom(_bytes); } else { try { _object = Activator.CreateInstance <T>(); using (MemoryStream ms = new MemoryStream(_bytes)) using (BinaryReader r = new BinaryReader(ms)) { _object.Deserialize(r); } } catch (Exception ex) when(ex is FormatException || ex is MissingMethodException) { } } } return(_object as T); }
public T ExecuteDeserialize <T>(string filePath) { return(mSerializeStrategy.Deserialize <T>(filePath)); }
private void ReadSerializable(ISerializable dest) { dest.Deserialize(this); }
public void Deserialize(string serName, ISerializable ser) { XElement subElem = this.elem.Element(serName); ser.Deserialize(new XmlDeserializer(subElem)); }
/// @param data /// The json data /// public static void DeserializeString(this ISerializable serializable, string data) { var jsonData = JsonWrapper.Deserialize(data); serializable.Deserialize(jsonData); }
protected virtual IEnumerable ImplDeserializeEnumerable( IEnumerable value, IHierarchicalMetadataSerializationContext context) { ISerializable <IValueUnit> serMgr = null; IValueUnit subCtxtLvl = null; IValueUnit subUnit = null; IValueProvider <IEnumerable> valueSequence = null; valueSequence = context.Hierarchy.Peek() as IValueSequence; if (valueSequence == null) { yield break; } if (valueSequence.Value == null) { yield break; } IEnumerator ctxtEnumerator = valueSequence.Value.GetEnumerator(); foreach (Object item in value) { if (!ctxtEnumerator.MoveNext()) { yield break; } else if ((subUnit = item as IValueUnit) == null) { if (item is String) // String is enumerable... { yield return(item); } else { //propValue = pd.GetValue ( InitDto ); //if ( _DeserializeEnumerable ( ref propValue, pd, valueItem.Value, context ) ) // continue; //else // propValue = valueItem.Value; } } else { if ((subCtxtLvl = ctxtEnumerator.Current as IValueUnit) == null) { yield return(null); } else { context.Hierarchy.Push(subCtxtLvl); try { yield return(serMgr.Deserialize(subUnit, context)); } finally { context.Hierarchy.Pop(); } } } } yield break; } // End of ImplDeserializeEnumerable (...)
static public iCalendar LoadFromStream(Type iCalendarType, Stream s, Encoding e, ISerializable serializer) { return((iCalendar)serializer.Deserialize(s, e, iCalendarType)); }
public static void DeserializeData(byte[] buffer, ref int index, ISerializable value) { value.Deserialize(buffer, ref index); }
public void Deserialize(ISerializable outObj) { outObj.Deserialize(stream); }
public void Deserialize(string str) { _serializer.Deserialize(str); }
protected virtual Boolean ImplDeserializeItem <ContextType> ( out Object retVal, Object item, Func <IValueItemBase> getCurrentContextDlg, ContextType context) where ContextType : ISerializationContext { retVal = null; //Type itemType = null; //NumericStringValue numericString = null; IConvertibleString cnvStr = null; ISerializable <IValueUnit> serMgr = null; ValueDomObjectSerializationManagerCollection serMgrColl = null; ObjectSerializationManagerDescr serMgrDescr = null; IValueUnit subCtxtLvl = null; IValueUnit subUnit = null; String typeName = null; IValueItem valueItem = null; if (item == null) { retVal = null; } else if (ImplIsBuiltinType(item.GetType())) { retVal = item; } //else if ( ImplIsString ( item.GetType () ) ) // if ( (itemType = ImplGetItemType ( context )) == null ) // retVal = item; // else if ( itemType == typeof ( String ) ) // retVal = item; // else // retVal = ImpConvertToType ( item, itemType ); //else if ( (numericString = item as NumericStringValue) != null ) // retVal = ImpConvertToType ( numericString, ImplGetItemType ( context ) ); else if (ImplIsString(item.GetType())) { retVal = ImpConvertToType(item, ImplGetItemType(context)); } else if ((cnvStr = item as IConvertibleString) != null) { retVal = ImpConvertToType(cnvStr, ImplGetItemType(context)); } else if ((subUnit = item as IValueUnit) == null) { return(false); } //propValue = pd.GetValue ( InitDto ); //if ( _DeserializeEnumerable ( ref propValue, pd, valueItem.Value, context ) ) // continue; //else // propValue = valueItem.Value; else if (getCurrentContextDlg == null) { return(false); } else if ((subCtxtLvl = getCurrentContextDlg() as IValueUnit) == null) { return(false); } else if ((valueItem = subCtxtLvl ["SerializationManager"] as IValueItem) == null) { return(false); } else if (valueItem.Value == null) { return(false); } else if ((typeName = valueItem.Value.ToString()) == null) { return(false); } else if ((serMgrColl = ValueDomObjectSerializationManagerCollection.Singleton) == null) { return(false); } else if ((serMgrDescr = serMgrColl [typeName]) == null) { return(false); } else if ((serMgr = serMgrDescr.SerializationManager) == null) { return(false); } else { retVal = serMgr.Deserialize(subUnit, context); } return(true); } // End of ImplDeserializeItem (...)