Anonymous Methods in C#

Introduction

 

Today, in this article let's play around with one of the interesting and most useful concept in C#.

Question: What are anonymous methods?

In simple terms "It is known as method without any name which is used to execute implementation login within inline code rather creation of overhead methods for simple operations."

Step 1: Create a new webform project

 

  asp.net-web-application-form.png

 

Step 2: The complete code of webform1.aspx looks like this

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="AnonymousMethodsApp.WebForm1" %>

 

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <center>

        <div>

            <table>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label1" runat="server" Text="Arithmetic Operations with Anonymous Methods in C#"

                            Font-Bold="true" Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

                <tr>

                    <td>

                        <asp:Label ID="Label6" runat="server" Text="Please Enter FirstNumber" Font-Size="Large"

                            Font-Names="Verdana" Font-Italic="true"></asp:Label>

                    </td>

                    <td>

                        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td>

                        <asp:Label ID="Label2" runat="server" Text="Please Enter SecondNumber" Font-Size="Large"

                            Font-Names="Verdana" Font-Italic="true"></asp:Label>

                    </td>

                    <td>

                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button1" runat="server" Text="Addition" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button1_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button2" runat="server" Text="Substraction" Font-Names="Verdana"

                            Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button2_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button3" runat="server" Text="Multiplication" Font-Names="Verdana"

                            Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button3_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button4" runat="server" Text="Division" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button4_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label5" runat="server" Font-Bold="true" Font-Names="Verdana"></asp:Label>

                    </td>

                </tr>

            </table>

        </div>

    </center>

    </form>

</body>

</html>

 

Step 3: The complete code of webform1.aspx.cs looks like this

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;namespace AnonymousMethodsApp

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

        }

        protected void Button1_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox4.Text) || string.IsNullOrEmpty(TextBox1.Text))

            {

                Label5.Text = "Please Enter Some Values";

                Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                ArithmticDelegate objAdd = delegate(double a, double b)

                {

                    return a + b;

                };

                Label5.Text = "Addition Result is: " + objAdd.Invoke(double.Parse(TextBox4.Text), double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;TextBox1.Text = string.Empty;TextBox4.Text = string.Empty;

            }

        }

        protected void Button2_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox4.Text) || string.IsNullOrEmpty(TextBox1.Text))

            {

                Label5.Text = "Please Enter Some Values";Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                ArithmticDelegate objSub = delegate(double a, double b)

                {

                    return a - b;

                };

                Label5.Text = "Substraction Result is: " + objSub.Invoke(double.Parse(TextBox4.Text), double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;TextBox1.Text = string.Empty;TextBox4.Text = string.Empty;

            }

        }

        protected void Button3_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox4.Text) || string.IsNullOrEmpty(TextBox1.Text))

            {

                Label5.Text = "Please Enter Some Values";Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                ArithmticDelegate objMul = delegate(double a, double b)

                {

                    return a * b;

                };

                Label5.Text = "Multiplication Result is: " + objMul.Invoke(double.Parse(TextBox4.Text), double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;TextBox1.Text = string.Empty;TextBox4.Text = string.Empty;

            }

        }

        protected void Button4_Click(object sender, EventArgs e)

        {

            if (string.IsNullOrEmpty(TextBox4.Text) || string.IsNullOrEmpty(TextBox1.Text))

            {

                Label5.Text = "Please Enter Some Values";Label5.ForeColor = System.Drawing.Color.Red;

            }

            else

            {

                ArithmticDelegate objDiv = delegate(double a, double b)

                {

                    return a / b;

                };

                Label5.Text = "Division Result is: " + objDiv.Invoke(double.Parse(TextBox4.Text), double.Parse(TextBox1.Text));

                Label5.ForeColor = System.Drawing.Color.Green;TextBox1.Text = string.Empty;TextBox4.Text = string.Empty;

            }

        }

        #region Public Memberspublic delegate double ArithmticDelegate(double a, double b);

        #endregion

    }

}

 

Step 4: The output of the application looks like this
 

arthmetic-operations-with-anonymous-Methods-in-csharp.jpg
 

Step 5: The addition operation output of the application looks like this

  anonymous-method-in-csharp-with-arthematic-operation.jpg

I hope this article is useful for you.

MVC Corporation
MVC Corporation is consulting and IT services based company.