In this chapter, we discovered that an anonymous method is a method that doesn't have a name. We just need to define the arguments and the implementation of the method. It's a shorthand notation from delegates. Then, we looked at lambda expressions, the powerful tool in functional programming, which can provide a shorthand notation from an anonymous method.
The lambda expression can also be used to form an expression tree that will be useful when we need to express our code in regular C#, deconstruct it, inspect it, and interpret it. The expression tree is like an explanation of the code. If we have a <Func<int, int, int>>
expression, it explains how it will provide an int
return if we give the code two integers.
Subscribing an event is also done by a lambda expression. There are two kinds of classes in the event, they are publisher and subscribers, and we can subscribe to the event using a lambda expression. It doesn't matter whether we use the event
keyword or the EventHandler...