public static void Main()
Console.WriteLine("Hello World");
SpecificRequestBuilder srb = new SpecificRequestBuilder();
srb.WithExtras().WithDetails().Build();
public class BigRequest { }
public class CommonRequestBuilder
protected readonly BigRequest _request;
public CommonRequestBuilder()
_request = new BigRequest();
public CommonRequestBuilder WithExtras()
public BigRequest Build()
public class SpecificRequestBuilder : CommonRequestBuilder
public SpecificRequestBuilder WithDetails()
public new SpecificRequestBuilder WithExtras()
return (SpecificRequestBuilder)base.WithExtras();