адрес метода,
тип параметров,
тип возвращаемого значения.
Делегаты .NET могут указывать
как на статические методы, так и на методы экземпляра.Один делегат хранит в себе список методов и вызывает их в порядке следования.
using System;
delegate void D(int i);
class Program
{
static void f(int i) { Console.WriteLine("fff"); }
void g(int i) { Console.WriteLine("ggg"); }
static void Main(string[] args)
{
D d = new D(f);
d += new D((new Program()).g);
d += f;
d(0);
}
}