Declare your delegate and some "target" methods with matching signatures
delegate void myDelegate(string name);
static void myFunction1(string name)
{
Console.WriteLine("1: " + name);
}
static void myFunction2(string name)
{
Console.WriteLine("2: " + name);
}
Then call them:
myDelegate del = new myDelegate(myFunction1);
del("Joe Smith");
del = new myDelegate(myFunction2);
del("Mike Brown");
You can also call it with an anonymous method:
del = delegate(string name) { Console.WriteLine("Anon: " + name); };
del("Jane Doe");
Or a Lambda:
del = name => { Console.WriteLine("Lambda: " + name); };
del("Mary Jane");