Anonymous Methods in C#
An
anonymous method is a method which doesn’t contain any name, it is introduced
in C# 2.0. It is useful when the user wants to create an
inline method and also wants to pass parameter in the anonymous method like
other methods. An Anonymous method is defined using the delegate keyword and the
user can assign this method to a variable of the delegate type.
Syntax of Anonymous method
Anonymous methods are declared with the creation of the delegate
instance, with a delegate keyword. For
example
delegate(parameterList)
{
// Code..
};
Example of Anonymous method
using System;
namespace LegalManagementSystem.Models
{
public delegate void CsharpArticle(string article);
public class CsharpnaijaAnonymous
{
public static void Main()
{
// An anonymous
method with one parameter
CsharpArticle p = delegate (string article)
{
Console.WriteLine("My favorite article in Csharp naija blog is: {0}",article);
};
p("Anonymous
method in C#");
}
}
}
Important Points:
·
This method is also known as inline delegate.
·
Using this method you can create a
delegate object without writing separate methods.
·
This method can access variable
present in the outer method. Such type of variables is known as Outer variables. As shown in the below example art is the outer variable.
You can also pass anonymous method to
another method which accepts delegate as a parameter. As shown in the below
example:
using System;
namespace LegalManagementSystem.Models
{
public delegate void CsharpArticle(string article);
public delegate void ReadArticle(string x);
public class CsharpnaijaAnonymous
{
// identity
method with two parameters
public static void CsharpArticle(ReadArticle article,
string articleDesc)
{
articleDesc = " Delegates and Events ";
article(articleDesc);
}
public static void Main()
{
// Here
anonymous method pass as
// a parameter
in CsharpArticle method
CsharpArticle(delegate (string articleDesc) {
Console.WriteLine("The Anonymous method is a good concept in understanding of
{0}", articleDesc);
}, "in
C#");
}
}
}
Notes
·
In anonymous methods, you are
allowed to remove parameter-list, which means you can convert an anonymous
method into a delegate.
·
The anonymous-method-block means the
scope of the parameters in the anonymous method.
·
An anonymous method does not contain
jump statements like ‘goto’, break, or continue.
·
An anonymous method does not access
unsafe code.
·
An anonymous method does not access
in, ref, and out parameter of the outer scope.
·
You cannot use an anonymous method
to the left side of the ‘is’ operator.
·
You can also use an anonymous method
as an event handler.
We will see how to use anonymous method as an event
handler in the next article
References
Comments
Post a Comment