The overall C# approach to allowing functions to be first-class entities has developed over time as well. Initially delegates were used as a way of wrapping a function in an object in a way that is ...