A helper method can receive a delegate and call it.

Passing Delegates

PassingDelegates.cs
using System;

class Program
{
    static int Apply(int value, Func<int, int> transform)
    {
        return transform(value);
    }

    static void Main()
    {
        int factor = ;
        Func<int, int> multiply = value => value * factor;
        int result = Apply(5, multiply);

        Console.WriteLine($"factor={factor}");
        Console.WriteLine($"result={result}");
    }
}
using System;

class Program
{
    static int Apply(int value, Func<int, int> transform)
    {
        return transform(value);
    }

    static void Main()
    {
        int factor = ;
        Func<int, int> multiply = value => value * factor;
        int result = Apply(5, multiply);

        Console.WriteLine($"factor={factor}");
        Console.WriteLine($"result={result}");
    }
}
using System;

class Program
{
    static int Apply(int value, Func<int, int> transform)
    {
        return transform(value);
    }

    static void Main()
    {
        int factor = ;
        Func<int, int> multiply = value => value * factor;
        int result = Apply(5, multiply);

        Console.WriteLine($"factor={factor}");
        Console.WriteLine($"result={result}");
    }
}
callback A callback is callable behavior passed into another method.