String - DeserializeBinary
A string extension method that deserialize a string binary as <T>.
public static void Main() { var myDict = new Dictionary<string, string> {{"Fizz", "Buzz"}}; string s = myDict.SerializeBinary(); // C# Extension Method: String - DeserializeBinary var value = s.DeserializeBinary<Dictionary<string, string>>(); Console.WriteLine(value["Fizz"]); }
View Source
using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Text; public static partial class Extensions { /// <summary> /// A string extension method that deserialize a string binary as <T>. /// </summary> /// <typeparam name="T">Generic type parameter.</typeparam> /// <param name="this">The @this to act on.</param> /// <returns>The desrialize binary as <T></returns> public static T DeserializeBinary<T>(this string @this) { using (var stream = new MemoryStream(Encoding.Default.GetBytes(@this))) { var binaryRead = new BinaryFormatter(); return (T) binaryRead.Deserialize(stream); } } /// <summary> /// A string extension method that deserialize a string binary as <T>. /// </summary> /// <typeparam name="T">Generic type parameter.</typeparam> /// <param name="this">The @this to act on.</param> /// <param name="encoding">The encoding.</param> /// <returns>The desrialize binary as <T></returns> public static T DeserializeBinary<T>(this string @this, Encoding encoding) { using (var stream = new MemoryStream(encoding.GetBytes(@this))) { var binaryRead = new BinaryFormatter(); return (T) binaryRead.Deserialize(stream); } } }