> class GroupMember > { > public int PrimaryKey; > public string FirstName; > public string LastName; > public long GuestNo; > public string Notes; > > public GroupMember(int primaryKey, string firstName, string lastName, long guestNo, string notes) > { > PrimaryKey = primaryKey; > FirstName = firstName; > LastName = lastName; > GuestNo = guestNo; > Notes = notes; > } > internal void DoWork(MKVP mkvp) > { > new Switch() > .Case(() => mkvp.Key == "FIRST", delegate {FirstName = mkvp.Value; }) > .Case(() => mkvp.Key == "LAST", delegate { LastName = mkvp.Value; }) > .Default(delegate { throw new Exception("No otherwise/default"); }) > .Execute(); > } > > } > static class Test_Switch > { > internal static void Go() > { > GroupMember groupMember = new GroupMember(1, "Gregory", "Adam", 234, "none"); > MKVP mkvp = new MKVP("LAST", "Alan"); > > groupMember.DoWork(mkvp); > > Console.WriteLine("{0} {1} ", groupMember.FirstName, groupMember.LastName); > } > } >I like that best - cleaner because everything encapsulated within the class.....