Akcja jako wyrazenie lambda

0

Hej, mam problem ze zrozumieniem tej składni:

public ViewResult List() => View(repository.Products);

Chodzi mi głownie o to, że wyrażeniu lambda nie widzę nic z "zmienna pomocniczą". Tak jak jest to poniżej:

x  => x * x;

gdzie x traktujemy jak zmienna pomocniczą i typ parametru x jest wnioskowany z kontekstu, natomiast w 1 przykładzie myli mnie jakoś to że nie ma "zmiennej pomocniczej".
Czy mógłby mi ktoś rozpisać ten pierwszy zapis?
Ja to rozumiem tak:

        public delegate ViewResult List;
        public ViewResult GetProducts()
        {
            return View(repository.Products);
        }
        List = GetProducts;

Wiem ze w wyr. lambda zachodzi konwersja na typ delegata. Rozumiem ze lambda to taki delegat, który ma już przypisaną metodę.

2

To nie jest wyrażenie lambda, tylko tak zwane Expression-bodied function members

odpowiednikiem jest zwykła metoda

public ViewResult List() 
{
    return View(repository.Products);
}
0

Dzięki wielkie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1