Beispiel #1
0
        private static T ProtobufDeSerialize <T>(Stream src)
        {
            if (src == null)
            {
                return(default(T));
            }

            if (typeof(T) == typeof(DataSet))
            {
                return((T)Convert.ChangeType(ProtobufDataSetSerializer.ProtoRead(src), typeof(T)));
            }

            if (typeof(T) == typeof(DataTable))
            {
                return((T)Convert.ChangeType(ProtobufDataTableSerializer.ProtoRead(src), typeof(T)));
            }

            T obj = ProtobufSerializer.Deserialize <T>(src);

            if (obj == null)
            {
                return(default(T));
            }

            return(obj);
        }
Beispiel #2
0
        private static void ProtobufSerialize(object obj, Stream stream)
        {
            if (obj == null)
            {
                return;
            }

            if (obj is DataSet)
            {
                ProtobufDataSetSerializer.ProtoWrite(obj as DataSet, stream);
            }
            else if (obj is DataTable)
            {
                ProtobufDataTableSerializer.ProtoWrite(obj as DataTable, stream);
            }
            else
            {
                ProtobufSerializer.Serialize <object>(stream, obj);
            }
        }