1
resposta

[Dúvida] O filmes.Id não está dando certo

Boa noite, meu código está correto, póem continua a dar erro no filmes.Id.

    private static List<Filme> filmes = new List<Filme>();
    private static int id = 0;

    [HttpPost]
    public void AdicionaFilme([FromBody] Filme filme)
    {
        filmes.Id = id++;
        filmes.Add(filme);
        Console.WriteLine(filme.Titulo);
        Console.WriteLine(filme.Duracao);
    }
...

_______________

    public class Filme
{
    public int Id { get;   set; }
    }
```
___________
Alarme:
Gravidade    Código    Descrição    Projeto    Arquivo    Linha    Estado de Supressão

Erro: CS1061 ‘List’ não contém uma definição para "Id" e não foi possível encontrar nenhum método de extensão "Id" que aceite um primeiro argumento do tipo ‘List’ (você está se esquecendo de usar uma diretiva ou uma referência de assembly?) `

1 resposta

Bom dia Vinycius, tudo bom?

A mensagem ocorre por quê você está tentando usar o Id como uma propriedade da lista, faça a seguinte alteração:

  private static List<Filme> filmes = new List<Filme>();
    private static int id = 0;

    [HttpPost]
    public void AdicionaFilme([FromBody] Filme filme)
    {
        filme.Id = id++; // a propriedade do objeto recebido como parâmetro.
        filmes.Add(filme);
        Console.WriteLine(filme.Titulo);
        Console.WriteLine(filme.Duracao);
    }

Espero que tenha ajudado e, qualquer coisa, estamos à disposição!

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!