Ich habe mich gefragt, ob diese Technik einen Namen hat - Ändern von Statusmethoden, um dies zurückzugeben, um in der Lage sein, sie in der linq Weise zu schreiben method().method().method()
.
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;
}
}