1
resposta

Erro ao usar o Get e Set

Em uma classe no meu projeto tenho a propriedade OpRepetitivas, que deixei com o get e set simples.

 public List<string> OpRepetitivas { get; set; }

e dois metodos que preenchem essa propriedade: O metodo de Carregar le um arquivo no sistema e preenche a lista da propriedade. ele é chamado quando inicialza a classe.

     public void CarregarOPs()
        {
            OpRepetitivas = ArquivoTXT.AbrirArquivo("OperaçõesFuturas.txt");
        }

        public Repetitivas()
        {
            CarregarOPs();
        }

o metodo Adicionar, coloca mais um item na lista da propriedade e depois salva a alteração no arquivo:

 public void AdicionarOp(Operacoes O)
        {
            var lista = OpRepetitivas;
            lista.Add(O.Id);
            OpRepetitivas = lista;
            SalvarOps();
        }
public void SalvarOps()
        {
            ArquivoTXT.SalvarArquivo(OpRepetitivas, "OperaçõesFuturas.txt");
        }

Esse codigo ta muito grande e estava tentando simplificar ele adicionando o metodo CarregarOps dentro do Get da propriedade.

 class ExemploRepetitivas
    {
        public List<string> OpExemplo
        {
            get
            {
                return ArquivoTXT.AbrirArquivo("OperaçõesFuturas.txt");
            }
            set { }
        }                       


        public void SalvarFuturas()
        {
            ArquivoTXT.SalvarArquivo(OpFuturas, "OperaçõesFuturas.txt");
        }

        public void AdicionarOp(Operacoes O)
        {
            OpExemplo.Add(O.Id);
            SalvarFuturas();
            }
    }

Mas quando faço isso o metodo AdicionarOp não funciona mais, a lista em OpExemplo não aceita os novos dados. Oq pode ser feito? Devo deiixar a versão mais extensa do codigo?

1 resposta

Bom dia Rafael, Tudo Blz?

Pelo que entendi, você removeu o carregamento do arquivo ArquivoTXT.AbrirArquivo("OperaçõesFuturas.txt") no momento que cria a classe. Creio que seja esse o detalhe. Se você tiver o código no GitHub posta o link aqui para olharmos tbm.

Att.