¿Existen propiedades de extensión (extension properties) en C#?
¡Hola a todos! Recientemente comencé a aprender C# y me encontré con una situación interesante. Sé que en C# existen métodos de extensión (extension methods) que permiten agregar nuevos métodos a tipos existentes sin modificar su código fuente. Por ejemplo, puedo escribir un método de extensión para string:
```csharp
public static class StringExtensions
{
public static bool IsPalindrome(this string str)
{
// verificación de palíndromo
}
}
```
Esto funciona perfectamente. Pero no necesito solo un comportamiento, sino una propiedad. Supongamos que tengo una clase `Order` de una biblioteca de terceros, y quiero agregarle una propiedad calculada `TotalPrice` que sume el costo de todos los elementos del pedido. No puedo modificar la clase `Order` porque no es mía.
¿Se puede hacer algo como esto?
```csharp
// Quiero hacer esto, pero no compila
public static class OrderExtensions
{
public static decimal TotalPrice { get { return this.Items.Sum(i => i.Price * i.Quantity); } }
}
```