using System; namespace QFSW.QC { /// /// Creates a Parser that is loaded and used by the QuantumParser. /// public interface IQcParser { /// /// The priority of this parser to resolve multiple parsers covering the same type. /// int Priority { get; } /// /// If this parser can parse to the incoming type. /// /// The type to test. /// If it can be parsed. bool CanParse(Type type); /// /// Parses the incoming string to the specified type. /// /// The incoming string data. /// The type to parse the incoming string to. /// Delegate back to the main parser to allow for recursive parsing of sub elements. /// The parsed object. object Parse(string value, Type type, Func recursiveParser); } }