How to Pass Method or Function as Parameter in C# ?

Published on December 26, 2013 by abundantcode

Filed under C#

Last modified December 26, 2013

Print this page

rate 1 star rate 2 star rate 3 star rate 4 star rate 5 star
Your rating: none, Average: 2.3 (3 votes)

This article have been viewed 7967 times

The C# 3.0 and higher version provides the option for the user to specify the function or method as parameter using the Func delegate .

How to Pass Method or Function as Parameter in C# ?

Below is a sample code snippet demonstrating how to pass method as parameter in C# using Func delegate.

public class ACEmployee
{
        public string GetEmployeeNameByID(int ID)
        {
            // Perform the logic
            return string.Empty;
        }

        public int GetEmployeeIDByName(string Name)
        {
            // Perform the logic
            return 1;
        }

        public bool ExecuteACMethod(Func<string, int> GetEmployeeNameByID)
        {
            int i = GetEmployeeIDByName("Abundantcode");
            return true;
        }

}
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

1 Comment

  1. Robert

    This is not a demo of the Func!!!

    public bool ExecuteACMethod(Func GetEmployeeNameByID)
    {
    int i = GetEmployeeIDByName(“Abundantcode”);

    Shouldn’t it be…

    public bool ExecuteACMethod(Func getEmployeeNameByID)
    {
    int i = getEmployeeNameByID(“Abundantcode”);

    July 3, 2014 - 1:25 pm – Reply

Leave a Comment


x

You might be Interested in these Posts

C# and Lambda - Finding all the elements of an integer array less than 35

Here's a sample code snippet demonstrating how to find all the elements of an integer array that is ...

C# and LINQ - Finding all the elements of an integer array less than 35

Here's a sample code snippet demonstrating how to find all the elements of an integer array that is ...

How to get the CommandLine of the Current Application in C# ?

You might need to get the information that contains the commandline which is used to execute the cur...