using System; namespace QFSW.QC { /// /// Creates a Serializer that is loaded and used by the QuantumSerializer. /// public interface IQcSerializer { /// /// The priority of this serializer to resolve multiple serializers covering the same type. /// int Priority { get; } /// /// If this serializer can serialize the incoming type. /// /// The type to test. /// If it can serialize. bool CanSerialize(Type type); /// /// Serializes the incoming data. /// /// The value to serialize. /// The (optional) theme to use for formatted serialization. /// Delegate back to the main serializer to allow for recursive serialization of sub elements. /// The serialized result. string SerializeFormatted(object value, QuantumTheme theme, Func recursiveSerializer); } }