Я выполняю пользовательскую сериализацию и десериализацию.Пользовательская сериализация (obj в байтах []) и десериализация (байты [] на объект)
Вот мой код сериализации:
//customSampleData is my class
static void SerializeCustom(customSampleData csd)
{
MemoryStream ms = new MemoryStream();
BinaryWriter bw = new BinaryWriter(ms);
bw.Write(csd.FName);
bw.Write(csd.MName);
bw.Write(csd.LName);
bw.Write(csd.Age);
bw.Write(csd.Address);
bw.Write(csd.Religion);
bw.Write(csd.BDay.ToString());
bw.Write(csd.Sex);
bw.Write(csd.CStatus);
byte[] byteform = ms.ToArray();
bw.Flush();
bw.Close();
DeserializeCustom(byteform);
}
вот мой код десериализации:
static void DeserializeCustom(Byte[] b)
{
object obj;
customSampleData csd = new customSampleData();
MemoryStream ms = new MemoryStream(b);
BinaryReader br = new BinaryReader(ms);
csd.FName = br.ReadString();
csd.MName = br.ReadString();
csd.LName = br.ReadString();
csd.Age = br.ReadInt32();
csd.Address = br.ReadString();
csd.Religion = br.ReadString(); ;
csd.BDay = DateTime.Parse(br.ReadString());
csd.Sex = br.ReadString();
csd.CStatus = br.ReadString();
ms.Flush();
ms.Close();
}
Pls помочь мне десериализации в пути 'Пользовательский'.
Спасибо!
Что вы хотите сказать? Что не работает? – I4V
Я не знаю, как «Custom deserialization». – user2423956
ms.Close() внутренне вызывает ms.Flush(), поэтому вам не нужно делать это вручную. Во всяком случае, лучше использовать инструкцию using. –