Anonymous methods can be assigned a signature, which is appended to the delegate keyword.

image_pdfimage_print
   
  
using System;
using System.Threading;


public delegate int DelegateClass(out int param);

public class Starter {
    public static void Main() {
        int var;
        DelegateClass del = delegate(out int inner) {
            inner = 12;
            Console.WriteLine("Running anonymous method");
            return inner;
        };
        del(out var);
        Console.WriteLine("Var is {0}", var);
    }
}