How to implement method chaining?
In C# how does one implement the ability to chain methods in one's custom classes so one can write something like this: myclass.DoSomething().DosomethingElse(x); etc... Thanks! Chaining is a good solution to produce new instance from existing instances: public class MyInt { private readonly int value; public MyInt(int value) { this.value = value; } public MyInt Add(int x) { return new MyInt(this.value + x); } public MyInt Subtract(int x) { return new MyInt(this.value - x); } } Usage: MyInt x = new MyInt(10).Add(5).Subtract(7); You can also use this pattern to modify an existing instance, but