function c#

public void SayHello()
Console.WriteLine("Hello") ;
//as basic as it gets 
//for a function
//Func is a invokeable container for Mehod or function method 
//that returns something. They can accept inputs based on the generals 
//that you template on and reserve the last general template for the return. 
//If you do not need a return or wish to return nothing check out the Action Class
Func<string/*Or some other type to return*/> YourFuncProperty
= new Func(()=>{/*do something*/ return "or return what you want";});
Func<string/*Or some other type to return*/> YourFuncProperty
= ()=>{/*do something*/return "or return what you want";};
//for a paramiterized func
/*Or some other types followed by others optional comma seperated*/,
string/*Or some other type to return last*/> YourParamitarizedFuncProperty =
  (x/*Each Param will be to the comma seperated types*/)=>
  {/*do some with the inputs*/return $"you entered a {x} or return what you want";};

// you can invloke them by calling their invokes.
string YouReturn = YourFuncProperty.Invoke();
string YouReturn = YourParamitarizedFuncProperty.Invoke(5);
//The last is the basic sycronous way. For a aysnc call uses
//however, you will need to begin a await with EndInvoke to get your result after.
string YouReturn = YourFuncProperty.EndInvoke();
string YouReturn = YourParamitarizedFuncProperty.EndInvoke(5);

//You can also fill them with defined methods in a class if you wish, 
//but the signatures must match.
Func<string> YourActionDefinedProperty = YourDefinedMethod;
string YourDefinedMethod()
  //do something
  return "or return what you want";

//Example of use
public sealed class DataContainer
  	//A bit contrived but we will give the ablity to overide the printout 
  	//of the class while still keeping it sealed. See the invoke at ToString.
  	//could be useful in a library or something?
	static func<string> SealedFuncStringOverride;

	DataContainer(datetime Date)
      this.Date = Date;
  	public datetime Date {get; private set;}
  	public int Amount {get; private set;}
  	public string Info {get; private set;}
  	public string FirstName {get; private set;}
  	//The invoke is used in here.
  	public override string ToString()
        return SealedFuncStringOverride.BeginInvoke();
      return base.ToString;
public void SayHello(string name) 

public void SayName()
	Console.WriteLine("What is your name?");
	string name = Console.ReadLine(); 
//function example
using System;
public class Program
	static void function(){
		Console.WriteLine("I am a function!");
	public static void Main()
using System;
using System.Collections.Generic;
using static System.Console;
namespace CSFlow.Delegates.Others
    public class ActionFunc

        public static void Run ()
            // Example of : Action
            // Use action when a mathod return void
            Action<string> display = new Action<string>(DisplayMessage);
            display("Calculate Discount :");

            // Example of : Func
            // Use action when a mathod return value
            Func<double, double> discount = new Func<double, double>(Discount);

            List<Customer> custList = new List<Customer>();
            custList.Add(new Customer { Id = 1, FirstName = "Joydip", LastName = "Kanjilal", State = "Telengana", City = "Hyderabad", Address = "Begumpet", Country = "India" });
            custList.Add(new Customer { Id = 2, FirstName = "Steve", LastName = "Jones", State = "OA", City = "New York", Address = "Lake Avenue", Country = "US" });
            custList.Add(new Customer { Id = 3, FirstName = "Sefat", LastName = "Anam", State = "OSA", City = "New York", Address = "Manhatten", Country = "US" });

            // Example of : Predicate
            // Use Predicate for search data
            Predicate<Customer> FindAddress = customer => customer.Address == "Manhatten";

            Customer searchData = custList.Find(FindAddress);

            display($"{searchData?.FirstName} {searchData?.LastName} From - {searchData?.City} ");


        static void DisplayMessage (string message)

        static double Discount (double money)
            return money * .5;

        class Customer
            public int Id { get; set; }
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public string Address { get; set; }
            public string City { get; set; }
            public string State { get; set; }
            public string Country { get; set; }
public int AddNumbers(int number1, int number2)
    int result = number1 + number2;
    return result;

New to Communities?

Join the community