Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.75 KB | None | 0 0
  1.         public static byte[] BinarySerialize(object unserialized)
  2.         {
  3.             try
  4.             {
  5.                 AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
  6.                 using (MemoryStream ms = new MemoryStream())
  7.                 {
  8.                     BinaryFormatter bf = new BinaryFormatter();
  9.                     bf.Serialize(ms, unserialized);
  10.                     return ms.ToArray();
  11.                 }
  12.             }
  13.             finally
  14.             {
  15.                 AppDomain.CurrentDomain.AssemblyResolve -= new ResolveEventHandler(CurrentDomain_AssemblyResolve);
  16.             }
  17.         }
  18.  
  19.         public static object BinaryDeserialize(byte[] serialized)
  20.         {
  21.             try
  22.             {
  23.                 AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
  24.                 using (MemoryStream memStream = new MemoryStream(serialized))
  25.                 {
  26.                     BinaryFormatter binForm = new BinaryFormatter();
  27.                     return binForm.Deserialize(memStream);
  28.                 }
  29.             }
  30.             finally
  31.             {
  32.                 AppDomain.CurrentDomain.AssemblyResolve -= new ResolveEventHandler(CurrentDomain_AssemblyResolve);
  33.             }
  34.         }
  35.  
  36.         static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
  37.         {
  38.             Assembly found = null;
  39.             foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies())
  40.             {
  41.                 if (a.FullName == args.Name)
  42.                 {
  43.                     found = a;
  44.                     break;
  45.                 }
  46.             }
  47.             return found;
  48.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement