3
respostas

Não entendi a seguinte linha de Código

No método de incluir produtos,

  public void IncluiProduto(Produto produto)
        {
            this.Produtos.Add(new PromocaoProduto() {Produto = produto });

        }

Entendi que o "produto", é o parâmetro que recebi na entrada do método. Porém não entendi o porque de " {Produto = produto}. Pois no codigo acima, o "Produto" seria somente o tipo da propriedade correto ?

3 respostas

Reanalisando o código, me corrijam se estiver errado. Mas esse

{Produto = produto }

Significa " Produto (Propiedade da classe PromocaoProduto) = produto (parametro que recebi no método)

Exatamente isso Felipe, o parametro de produto passado foi para compor a construção do objeto PromocaoProduto, ja que PromocaoProduto precisa de um "produto".

Prezados,

O trecho acima apresenta um erro de compilação em' "Produto" devido ao fato do nome da propriedade da classe PromocaoProduto ser"produto" conforme trecho abaixo.

namespace Alura.Loja.Testes.CosoleApp
{
    public class PromocaoProduto
    {
        public int ProdutoId { get; set; }
        public Produto produto { get; set; }
        public int PromocaoId { get; set; }
        public Promocao Promocao { get;  set; }
    }
}

Para resolver a questão tive que alterar a propriedada de classe PromocaoProduto para:

public Produto Produto { get; set; }