Solved

Object Self Serialization

Posted on 2010-08-22
5
665 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

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

Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. I’m just not sure how many people would ge…
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
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

695 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