public static IEtiquetaElement NovoElemento(EEModel model) { switch (model.Tipo) { case Enums.EEType.Linha: return(new EELinha(model.DeepClone())); case Enums.EEType.Texto: return(new EETexto(model.DeepClone())); case Enums.EEType.BarCode: return(new EEZBarCode(model.DeepClone())); case Enums.EEType.PrecoMascarado: return(new EEPrecoMascarado(model.DeepClone())); default: throw new NotImplementedException("Elemento não implementado"); } }