Отвечая на ваш вопрос - это конкретный случай построения класса-делегата сообщенного с данным методом.
Когда вы создаете класс-делегата (
public delegate void MyDelegate();
) вы указываете сигнатуру методов, которые потом можно сообщить с этим делегатом.
Как пример вот вам делегат с принимаемыми параметрами и возвращаемым значение.
public delegate int MyDelegate(int a, int b);
Теперь вы можете сообщить с этим делегатом методы с такой же сигнатурой. Например
public static int Sum(int a, int b)
{
return a+b;
}
Вызов делегата
class Program
{
static void Main()
{
MyDelegate myDelegate = new MyDelegate(MyClass.Sum);
int result = myDelegate(5, 10);
}
}