Object - SerializeBinary
An object extension method that serialize an object to binary.
public static void Main() { var obj = new Dictionary<string, string> {{"Fizz", "Buzz"}}; //C# Extension Method: Object - SerializeBinary string result =obj.SerializeBinary(); using (var stream = new MemoryStream(Encoding.Default.GetBytes(result))) { var binaryRead = new BinaryFormatter(); var dict = (Dictionary<string, string>) binaryRead.Deserialize(stream); Console.WriteLine(dict["Fizz"]); } }
View Source
using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Text; public static partial class Extensions { /// <summary> /// An object extension method that serialize an object to binary. /// </summary> /// <typeparam name="T">Generic type parameter.</typeparam> /// <param name="this">The @this to act on.</param> /// <returns>A string.</returns> public static string SerializeBinary<T>(this T @this) { var binaryWrite = new BinaryFormatter(); using (var memoryStream = new MemoryStream()) { binaryWrite.Serialize(memoryStream, @this); return Encoding.Default.GetString(memoryStream.ToArray()); } } /// <summary> /// An object extension method that serialize an object to binary. /// </summary> /// <typeparam name="T">Generic type parameter.</typeparam> /// <param name="this">The @this to act on.</param> /// <param name="encoding">The encoding.</param> /// <returns>A string.</returns> public static string SerializeBinary<T>(this T @this, Encoding encoding) { var binaryWrite = new BinaryFormatter(); using (var memoryStream = new MemoryStream()) { binaryWrite.Serialize(memoryStream, @this); return encoding.GetString(memoryStream.ToArray()); } } }