Me preguntaba si esta técnica tiene un nombre - cambiar los métodos de estado para devolver esto, para poder escribirlos en el modo linq method().method().method()
.C# - ¿Cómo se llama esta técnica?
class Program
{
static void Main(string[] args)
{
Test t = new Test();
t.Add(1).Write().Add(2).Write().Add(3).Write().Add(4).Write().Subtract(2).Write();
}
}
internal class Test
{
private int i = 0;
public Test Add(int j)
{
i += j;
return this;
}
public Test Subtract(int j)
{
i -= j;
return this;
}
public Test Write()
{
Console.WriteLine("i = {0}",i.ToString());
return this;
}
}
¿Se refiere a la interfaz de Fluent? –
Nota: algunos métodos podrían devolver otro objeto, no solo 'this' y seguir obteniendo el mismo efecto. En general, se trata de devolver algo que permite un encadenamiento adicional. – Richard
Prefiero llamarlo 'código feo', pero esto es solo una opinión personal. –