public static Expression <Func <Person, string> > FullNameFormatted(FullNameFormat format) { switch (format) { case FullNameFormat.LastFirst: return(p => p.LastName + ", " + p.FirstName); case FullNameFormat.FirstLast: return(p => p.FirstName + " " + p.LastName); default: throw new ArgumentOutOfRangeException(nameof(format), format, null); } }
public string FullName(FullNameFormat format) => default !;
public FullNameGenerator(FullNameFormat format = FullNameFormat.FirstNameLastName) => _format = format;