Feedback

C# - Zum De/Serialisieren von Objekten

Veröffentlicht von am 24.02.2006
(1 Bewertungen)
Zum De/Serialisieren von Objekten
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

namespace Vertexwahn
{
    public class Serializer
    {
        public static byte[] SerializeIt(object obj)
        {
            try
            {
                MemoryStream bout = new MemoryStream();
                BinaryWriter objOut = new BinaryWriter(bout);
                BinaryFormatter formatter = new BinaryFormatter();
                formatter.Serialize(objOut.BaseStream, obj);
                objOut.Close();
                return bout.ToArray();
            }
            catch (IOException e)
            {
                throw new ApplicationException("Serialization failed: " + e.Message);
            }
        }

        public static object DeserializeIt(byte[] data)
        {
            if (data == null)
                return null;
            try
            {
                MemoryStream bin = new MemoryStream(data);
                BinaryFormatter formatter = new BinaryFormatter();
                object obj = formatter.Deserialize(bin);
                bin.Close();
                return obj;
            }
            catch (IOException e)
            {
                throw new ApplicationException("Deserialization failed: " +
                                               e.Message);
            }
            catch (Exception e)
            {
                throw new ApplicationException("Class not found: " + e.Message);
            }
        }
    }
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!