using System.IO; using System.Runtime.Serialization; namespace Netron.Diagramming.Core { /// /// Generic implementation of the interface. /// /// public class GenericFormatter : IGenericFormatter where F : IFormatter, new() { IFormatter m_Formatter = new F(); /// /// Deserializes the specified serialization stream. /// /// The serialization stream. /// public T Deserialize(Stream serializationStream) { return (T)m_Formatter.Deserialize(serializationStream); } /// /// Serializes the specified serialization stream. /// /// The serialization stream. /// A parameter of the generics Type T public void Serialize(Stream serializationStream, T graph) { m_Formatter.Serialize(serializationStream, graph); } } }