41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
---
|
|
title: Expression Bodied Methods and Properties
|
|
localeTitle: Métodos y propiedades corporales de expresión
|
|
---
|
|
# Métodos y propiedades corporales de expresión
|
|
|
|
Puede declarar métodos y propiedades como una expresión lambda, sin la necesidad de un bloque de instrucciones. Destinada a implementaciones simples, esta sintaxis es más concisa que declarar un método o una propiedad regular, ya que elimina la necesidad de algunas llaves y el uso de una declaración de devolución explícita.
|
|
|
|
Aquí hay un ejemplo de una declaración de método regular:
|
|
|
|
```csharp
|
|
public Point CreatePoint(int x, int y)
|
|
{
|
|
return new Point(x, y);
|
|
}
|
|
```
|
|
|
|
Lo siguiente da el mismo resultado, pero está escrito como un método con expresión:
|
|
|
|
```csharp
|
|
public Point CreatePoint(int x, int y) => new Point(x, y);
|
|
```
|
|
|
|
También puede declarar propiedades con esta sintaxis. El siguiente código es cómo declaramos una propiedad de obtención sin una expresión lambda:
|
|
|
|
```csharp
|
|
public Point Location
|
|
{
|
|
get
|
|
{
|
|
return _location;
|
|
}
|
|
}
|
|
```
|
|
|
|
A través de un método con cuerpo de expresión, podemos reducir este código a una sola línea:
|
|
|
|
```csharp
|
|
public Point Location => _location
|
|
|
|
``` |