Po pierwsze, to nie jest lambda, chociaż składnia jest podobna. To jest "expression-bodied members". Są podobne do lambd, ale wciąż są zasadniczo różne. Oczywiście nie mogą przechwytywać zmiennych lokalnych, takich jak lambdas. Ponadto, w przeciwieństwie do lambdas, są dostępne przez ich nazwę :) Prawdopodobnie zrozumiesz to lepiej, jeśli spróbujesz przekazać właściwość o charakterze ekspresowym jako delegat.
Nie ma takiej składni dla ustawiaczy w C# 6.0, ale C# 7.0 introduces it.
private int _x;
public X
{
get => _x;
set => _x = value;
}
Nie, tylko pobierające ... –
Jaki problem należy próbuje rozwiązać tutaj? Ma to sens tylko dla mnie, jeśli nie dodasz bardziej skomplikowanej logiki niż po prostu ładowanie/przechowywanie wartości z/do pola, w którym to momencie automatycznie implementowane właściwości będą już pokrywać twoje potrzeby. Jakiego rodzaju implementacji masz na myśli, że jest tak krótki, że składnia '=>' jest tego warta, ale jest zbyt skomplikowana dla właściwości automatycznie implementowanych? – hvd
Dlaczego nie używasz właściwości automatycznej? – slugster