41 lines
1.7 KiB
Markdown
41 lines
1.7 KiB
Markdown
---
|
||
title: Expression Bodied Methods and Properties
|
||
localeTitle: Методы и свойства выражения
|
||
---
|
||
# Методы и свойства выражения
|
||
|
||
Вы можете объявлять методы и свойства как выражение лямбда, без необходимости в блоке оператора. Этот синтаксис, предназначенный для простых реализаций, более краток, чем объявление регулярного метода или свойства, поскольку он устраняет необходимость в некоторых фигурных скобках и использовании явного оператора return.
|
||
|
||
Ниже приведен пример объявления обычного метода:
|
||
|
||
```csharp
|
||
public Point CreatePoint(int x, int y)
|
||
{
|
||
return new Point(x, y);
|
||
}
|
||
```
|
||
|
||
Следующий результат дает тот же результат, но записывается как выраженный метод:
|
||
|
||
```csharp
|
||
public Point CreatePoint(int x, int y) => new Point(x, y);
|
||
```
|
||
|
||
Вы также можете объявить свойства с помощью этого синтаксиса. Следующий код - это то, как мы объявляем свойство get-only без выражения лямбда:
|
||
|
||
```csharp
|
||
public Point Location
|
||
{
|
||
get
|
||
{
|
||
return _location;
|
||
}
|
||
}
|
||
```
|
||
|
||
Благодаря выраженному телу мы можем уменьшить этот код до одной строки:
|
||
|
||
```csharp
|
||
public Point Location => _location
|
||
|
||
``` |