none
Enum de Formas de Pagamento - Cielo RRS feed

  • Pergunta

  • Olá Pessoal, tem uma classe da lojaexemplo nova versão 1.5.5 - Class Modalidade
    que vem com um Enum com as seguintes modalidades porem a modalidade DEBITO o valor é
    um 'A' isso em .NET não consegui fazer, gostaria de uma ajuda de como ficaria essa classe em C#.NET abraço. 
    public enum Modalidade {
    	
    	CREDITO_A_VISTA('1', "Crédito à Vista"),
    	DEBITO('A', "Débito"),
    	PARCELADO_ADMINISTRADORA('3', "Parcelado"),
    	PARCELADO_LOJA('2', "Parcelado")
    	;
    	
    	private char codigo;
    	
    	private String descricao;
    	
    	private Modalidade(char codigo, String descricao) {
    		this.codigo = codigo;
    		this.descricao = descricao;
    	}
    
    	public char getCodigo() {
    		return codigo;
    	}
    
    	public static Modalidade valueOf(char modalidade) {
    		switch(modalidade) {
    			case 'A': return DEBITO;
    			case '1': return CREDITO_A_VISTA;
    			case '2': return PARCELADO_LOJA;
    			case '3': return PARCELADO_ADMINISTRADORA;
    			default: throw new IllegalArgumentException("Modalidade '" + modalidade + "' não reconhecida.");
    		}
    	}
    	
    	@Override
    	public String toString() {
    		return descricao;
    	}
    quarta-feira, 3 de novembro de 2010 19:08

Respostas

  • Ricardo,

    Sinto lhe dizer, mas é impossivel atribuir a um valor de enum um char. Os valores que podem ser passado são do tipo: byte, sbyte, short, ushort, int, uint, long, ulong. O que você pode fazer é colocar o Débito como 0 e quando passar A, retorna A. Outra coisa: enum não só uma lista de opções atribuidas a um valor, por padrão a um int. Não é possivel colocar métodos dentro do mesmo. Para mais informações:

    http://msdn.microsoft.com/pt-br/library/sbbt4032(VS.80).aspx


    Samuel Fabel
    sexta-feira, 5 de novembro de 2010 19:24