public static void Execute() { // Open closed var builder = new PersonBuilderFunctional().SetName("TTTT").SetProfession("Soft").Build(); // open closed with generics and inheritence var builder1 = new PersonBuilderFunctional1().SetName("TTTT").SetProfession("Soft").Build(); }
public static PersonBuilderFunctional1 SetProfession(this PersonBuilderFunctional1 builder, string profession) { builder.Do(p => p.Position = profession); return(builder); }