Question:
What is the difference between delegates and actions in csharp.Answer:
Delegates are more general function objects.You can create a delegate with a signature that you like or need.
An Action in dot.net:
- is just a short-cut to a delegate that has (zero to four in-arguemnts)
- the return type is void.
- supplies behavior - they do something.
Here is an example
TheWriter class can use your method to write something.
In order to pass it your method you must wrap your method inside a delegate.
Here we created a custom delegate CustomAction
public void Test() { TheWriter.UseYourMethodToWrite(Console.WriteLine); } public class TheWriter { public delegate void CustomAction(string s); // This method writes using the custom delegate. public static void UseYourMethodToWrite(CustomAction write) { write("Hello World again"); } }
Same example with Action delegate.
public void Test() { TheWriter.UseYourMethodToWrite(Console.WriteLine); } public class TheWriter { // This method writes using the custom delegate. public static void UseYourMethodToWrite(Action<string> write) { write("Hello World again"); } }
Action is a pre-cooked meal in dot.net programming ...
No comments:
Post a Comment