I just want to verify my understanding about the following
hmm... they all do similar things, how do you define & know when to use each?
sorry, I don't explain well
Delegate - it is not a method signature. It is a type which encapsulates a method
. Hence a delegate declaration should have a signature similar to the method it wants to encapsulate. When to use Delegate - whenever you want to pass a method to another function.
For more see this and this.
Lambdas - short hand and more expressive way of writing an anonymous function. But there is more to it. A lambda expression can also be converted to an expression tree. For more see this.
Anonymous Function - yes .. just that
Action - It is a delegate which can encapsulate a function that returns nothing. So you should think of it as a type that can encapsulate an action
and use it when you need to pass an action around.
Func - A delegate that can encapsulate a function that returns something. But you should look at it as a type that can encapsulate a transformation
and use when you want to pass around a transformation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With