A format provider for string.format that can use dictionary keys or property names as formats i.e "{0:Username} joined on {0:JoinDate:D}" produces "John Doe joined on Thursday, October 22, 2014"