Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Reflection;
- class Lol
- {
- bool kek = true;
- int kok = 10;
- char ssas = 'a';
- string asd = "stroka";
- char[] rer = new char[3] { '1', '2', '3' };
- }
- class Serializer
- {
- StreamWriter writer;
- public void Serialize(Stream stream, object data)
- {
- writer = new StreamWriter(stream);
- writer.WriteLine("{");
- Serialize(data);
- writer.WriteLine("}");
- writer.Close();
- }
- protected void Serialize(object data)
- {
- Type type = Type.GetType(data.ToString());
- foreach (FieldInfo finfo in type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance))
- {
- if (finfo.FieldType.Equals(typeof(char)) || finfo.FieldType.Equals(typeof(string)))
- writer.WriteLine("\t\"" + finfo.Name + "\": \"" + finfo.GetValue(data) + "\",");
- else if (finfo.FieldType.Equals(typeof(int)))
- writer.WriteLine("\t\"" + finfo.Name + "\": " + finfo.GetValue(data) + ",");
- else if (finfo.FieldType.Equals(typeof(bool)))
- writer.WriteLine("\t\"" + finfo.Name + "\": " + finfo.GetValue(data).ToString().ToLower() + ",");
- else if (finfo.FieldType.IsArray)
- {
- writer.WriteLine("\t\"" + finfo.Name + "\": [");
- foreach (object item in (System.Array)finfo.GetValue(data))
- {
- writer.WriteLine("\t\t" + item + ",");
- }
- writer.WriteLine("\t]");
- }
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Lol lol = new Lol();
- Serializer serializer = new Serializer();
- MemoryStream ms = new MemoryStream();
- serializer.Serialize(ms, lol);
- ms.Close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement