Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.57 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Reflection;
  4.  
  5. class Lol
  6. {
  7.     bool kek = true;
  8.     int kok = 10;
  9.     char ssas = 'a';
  10.     string asd = "stroka";
  11.     char[] rer = new char[3] { '1', '2', '3' };
  12. }
  13.  
  14. class Serializer
  15. {
  16.     StreamWriter writer;
  17.  
  18.     public void Serialize(Stream stream, object data)
  19.     {
  20.         writer = new StreamWriter(stream);
  21.         writer.WriteLine("{");
  22.         Serialize(data);
  23.         writer.WriteLine("}");
  24.         writer.Close();
  25.     }
  26.  
  27.     protected void Serialize(object data)
  28.     {
  29.         Type type = Type.GetType(data.ToString());
  30.  
  31.         foreach (FieldInfo finfo in type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance))
  32.         {
  33.             if (finfo.FieldType.Equals(typeof(char)) || finfo.FieldType.Equals(typeof(string)))
  34.                 writer.WriteLine("\t\"" + finfo.Name + "\": \"" + finfo.GetValue(data) + "\",");
  35.             else if (finfo.FieldType.Equals(typeof(int)))
  36.                 writer.WriteLine("\t\"" + finfo.Name + "\": " + finfo.GetValue(data) + ",");
  37.             else if (finfo.FieldType.Equals(typeof(bool)))
  38.                 writer.WriteLine("\t\"" + finfo.Name + "\": " + finfo.GetValue(data).ToString().ToLower() + ",");
  39.             else if (finfo.FieldType.IsArray)
  40.             {
  41.                 writer.WriteLine("\t\"" + finfo.Name + "\": [");
  42.                 foreach (object item in (System.Array)finfo.GetValue(data))
  43.                 {
  44.                     writer.WriteLine("\t\t" + item + ",");
  45.                 }
  46.                 writer.WriteLine("\t]");
  47.             }
  48.         }
  49.     }
  50. }
  51.  
  52. class Program
  53. {
  54.  
  55.     static void Main(string[] args)
  56.     {
  57.         Lol lol = new Lol();
  58.         Serializer serializer = new Serializer();
  59.         MemoryStream ms = new MemoryStream();
  60.         serializer.Serialize(ms, lol);
  61.         ms.Close();
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement