public object Deserialize(Stream serializationStream) { try { var result = new MobileFormatter().Deserialize(serializationStream); var sysValue = result as SysState; if (sysValue != null) { var sysType = Type.GetType(sysValue.TypeName); result = TypeHelper.CoerceValue(sysType, sysValue.Value); } return result; } catch //(SerializationException) { //序列化失败,说明不能反序列化为 IMobile,接着尝试使用 Binary } var result2 = new BinaryFormatterWrapper().Deserialize(serializationStream); return result2; }
public object Deserialize(Stream serializationStream) { try { var result = new MobileFormatter().Deserialize(serializationStream); var sysValue = result as SysState; if (sysValue != null) { var sysType = Type.GetType(sysValue.TypeName); result = TypeHelper.CoerceValue(sysType, sysValue.Value); } return(result); } catch //(SerializationException) { //序列化失败,说明不能反序列化为 IMobile,接着尝试使用 Binary } var result2 = new BinaryFormatterWrapper().Deserialize(serializationStream); return(result2); }