namespace SabreTools.Serialization.CrossModel { /// /// Defines how to convert between two model types /// public interface ICrossModel { /// /// Enable outputting debug information /// public bool Debug { get; set; } /// /// Deserialize a into /// /// Type of object to deserialize to /// Type of object to deserialize from /// Object to deserialize from /// Filled object on success, null on error public TSource? Deserialize(TDest? obj); /// /// Serialize a into /// /// Type of object to serialize from /// Type of object to serialize to /// Object to serialize from /// Filled object on success, null on error public TDest? Serialize(TSource? obj); } }