Solved

Object Self Serialization

Posted on 2010-08-22
5
661 Views
Last Modified: 2012-05-10
I have done this before, however I've been working in another area... I forgot in my old age...

I want to have a object that self serialize...
0
Comment
Question by:mdbarker813
  • 2
  • 2
5 Comments
 
LVL 11

Accepted Solution

by:
saragani earned 334 total points
ID: 33498201
You mean like this?

       public void Save(string filename)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(THE_TYPE_OF_YOUR_CLASS));

            FileStream stream = File.Create(filename);
            serializer.Serialize(stream, this);
            stream.Close();
        }

        public static THE_TYPE_OF_YOUR_CLASS Load(string filename)
        {
            FileStream stream = File.Open(filename, FileMode.Open);
            XmlSerializer serializer = new XmlSerializer(typeof(ProjectSerialization));
            THE_TYPE_OF_YOUR_CLASS ret = (THE_TYPE_OF_YOUR_CLASS)serializer.Deserialize(stream);
            stream.Close();

            return ret;
        }
0
 
LVL 11

Assisted Solution

by:saragani
saragani earned 334 total points
ID: 33498212
Hi,
typeof(ProjectSerialization)

should be:
typeof(THE_TYPE_OF_YOUR_CLASS)
0
 
LVL 16

Assisted Solution

by:Vikram Singh Saini
Vikram Singh Saini earned 166 total points
ID: 33498221
Hi,

See the code for Serialization of the object. Modify it or let me know how you want to do that.

Regards,
VSS

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.IO;

namespace mcts_C5_L1_Serialization_Deserialization
{
    class Program
    {
        static void Main(string[] args)
        {
            string data = "Hello World!"; 

            // Create file to save the data to
            FileStream fs = new FileStream(@"D:\Zodes\Serialized.Data", FileMode.Create);

            // Create a BinaryFormatter object to perform the serialization
            // Specifically for the client having .NET Application
            BinaryFormatter bf = new BinaryFormatter();

            // Use the BinaryFormatter object to serialize the data to the file
            bf.Serialize(fs, data);

            // Close the file
            fs.Close();  
        }
    }
}

Open in new window

0
 

Author Comment

by:mdbarker813
ID: 33665688
Sorry guys, I was out for a while. While away I had time to figure out what I wanted to to. Here is what i was looking for. I already knew how to serialize and deserialize and object. I just wanted to make it a cleaner process.

public class Serializer<ObjectToSerialize>
    {
        public static ObjectToSerialize Load(string xml)
        {
            return (ObjectToSerialize)Utilities.Deserialize(xml, typeof(ObjectToSerialize));  
        }

        public string ToXML()
        {
            return Utilities.Serialize(this);
        }
    }
0
 

Author Closing Comment

by:mdbarker813
ID: 33665720
Very close to what i was looking for.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used.

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question