void IXmlSerializable.ReadXml(XmlReader reader)
        {
            if (null == reader)
            {
                throw new ArgumentNullException(nameof(reader));
            }

            Purse purse = Parse(reader.ReadElementContentAsString());

            _type   = purse._type;
            _number = purse._number;
        }
        public static bool TryParse(string value, out Purse purse)
        {
            if (string.IsNullOrEmpty(value))
            {
                purse = default(Purse);
                return(false);
            }

            Match match = Regex.Match(value, Pattern);

            if (match.Value != value)
            {
                purse = default(Purse);
                return(false);
            }

            purse = new Purse(value);
            return(true);
        }
 public bool Equals(Purse other)
 {
     return(_type == other.Type &&
            _number == other.Number);
 }