Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Criar uma List<string> em uma class

Estou tentando implementar uma Lista dentro de uma classe usando:

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

Mas toda vez que eu adiciono alguem item a essa lista e executo o programa ele trava, não aparece nenhuma mensagem de erro na execução, simplesmente não mostra nada

this.Pratos = new List<Pratos>()
            { 
                new Pratos { Nome = "X-Burger", Preco = 10, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png"
                ,IngredientePrato={ "Pão", "Bife", "Presunto", "Mussarela", "Ovo", "Bacon", "Cheddar", "Calabresa", "Catupiri", "Salada"} },
                new Pratos { Nome = "X-Bacon", Preco = 13, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-EggBacon", Preco = 14, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-Tudo", Preco = 16, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-Cheddar", Preco = 19, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" }, 
            };

O código roda normalmente quando eu retiro

IngredientePrato={ "Pão", "Bife", "Presunto", "Mussarela", "Ovo", "Bacon", "Cheddar", "Calabresa", "Catupiri", "Salada"}

Código

namespace AppGourmet.Models
{
    public class Pratos
    {
        public string Nome { get; set; }
        public decimal Preco { get; set; }
        public string PrecoFormatado
        {
            get
            {
                return string.Format("R$ {0}", Preco);
            }
        }
        public string ImageURL { get; set; }


        public List<string> IngredientePrato { get; set; }
    }
}
3 respostas
solução!

Se IngredientePrato é uma lista você deve declarar como uma lista dessa forma deverá ficar assim

IngredientePrato = new List() {"Pão", "Bife", "Presunto", "Mussarela", "Ovo", "Bacon", "Cheddar", "Calabresa", "Catupiri", "Salada"}

Dessa forma ficara assim

this.Pratos = new List<Pratos>()
            { 
                new Pratos { Nome = "X-Burger", Preco = 10, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png"
                ,IngredientePrato = new List() {"Pão", "Bife", "Presunto", "Mussarela", "Ovo", "Bacon", "Cheddar", "Calabresa", "Catupiri", "Salada"}},
                new Pratos { Nome = "X-Bacon", Preco = 13, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-EggBacon", Preco = 14, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-Tudo", Preco = 16, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-Cheddar", Preco = 19, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" }, 
            };

Error    CS0305    Using the generic type 'List<T>' requires 1 type arguments    AppGourmet

Ops foi mals esqueci de tipar a List

IngredientePrato = new List<string>() {"Pão", "Bife", "Presunto", "Mussarela", "Ovo", "Bacon", "Cheddar", "Calabresa", "Catupiri", "Salada"}
this.Pratos = new List<Pratos>()
            { 
                new Pratos { Nome = "X-Burger", Preco = 10, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png"
                ,IngredientePrato = new List<string>() {"Pão", "Bife", "Presunto", "Mussarela", "Ovo", "Bacon", "Cheddar", "Calabresa", "Catupiri", "Salada"}},
                new Pratos { Nome = "X-Bacon", Preco = 13, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-EggBacon", Preco = 14, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-Tudo", Preco = 16, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" },
                new Pratos { Nome = "X-Cheddar", Preco = 19, ImageURL="https://cdn5.bobsfa.com.br/assets/cardapio/produtos/picanha-barbecue-100g.g.png" }, 
            };