Basic Serialization

Similar to the XmlSerializer, Blueprints can serialize and deserialize objects out-of-the-box. Take for instance the Configuration class below:

    public class Configuration
        public int Timeout { get; set; }

An instance of this class can be serialized as follows:

    Configuration config = new Configuration();
    config.Timeout = 5000;

    using (Stream stream = File.Open("config.xml", FileMode.Create, FileAccess.Write))
        Blueprint.Serialize(stream, config);

This would create an xml file with the following contents:

<Blueprint xmlns:blueprints="" blueprints:type="MyApplication.Configuration, MyApplication">

Deserialization is done in a similar fashion:

    using (Stream stream = File.Open("config.xml", FileMode.Open, FileAccess.Read))
        Configuration config = Blueprint.Deserialize(stream);