public static bool TryParse(string input, out InvoiceBarCode result)
        {
            var code = new BarCode(input);

            result = new InvoiceBarCode(code);
            return(true);
        }
        public static bool TryParse(string value, out SupplyBarCode code)
        {
            //validate and return false ...

            var barcode = new BarCode(value);

            code = new SupplyBarCode(barcode);
            return(true);
        }
 public SupplyBarCode(BarCode code)
 {
     Code = code;
 }
 public InvoiceBarCode(BarCode code)
 {
     Code = code;
 }