// Bug #81158 using System; public class App { private delegate void TGenericDelegate(string param); public static void Main (string[] args) { App app = new App (); app.Run(); } public void Run () { TGenericDelegate del = ADelegate; TestMethod ("a param", ADelegate); TestMethod ("another param", del); } private void TestMethod (string param, TGenericDelegate del) { Console.WriteLine ("TestMethod called with param: {0}. Calling a delegate", param); if (del != null) del (param); } private void ADelegate (string param) { Console.WriteLine ("ADelegate called with param: {0}", param); } }