Solved

Object Self Serialization

Posted on 2010-08-22
5
660 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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

Suggested Solutions

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

774 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