Я сериализую поток, который хранится в облаке с использованием сервисов REST.
Часть сериализации приведена ниже -
public void serialize(Object obj, Stream str)
{
using (GZipStream zipStream = new GZipStream(str, CompressionMode.Compress, true))
{
if (obj is Stream)//This is executed in my case
{
((Stream)obj).CopyTo(zipStream);
}
else
{
binarySerializer.serialize(obj, zipStream);
}
}
}
Аргумент obj - это содержимое потока, а str - это пустой поток, в котором хранится сериализованный поток для дальнейшего использования. Если условие выполнено в моем случае, поскольку obj является потоком.
вот код binarySerializer.Serialize () -
public void serialize(object obj, Stream str)
{
if (obj is Stream)
{
((Stream)obj).CopyTo(str);
}
else
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(str, obj);
}
}
Это прекрасно работает, и я могу загрузить сериализованный файл (который отображается в виде двоичного файла с возможностью загрузки) из облака, используя Restlet Client расширение chrome.
Может кто-нибудь помочь мне в написании части Десериализация ?
Я хочу код десериализации с подписью ниже -
public T deserialize<T>(Stream str)
{
//Code here
}
Заранее спасибо!