日期:2014-05-17  浏览次数:21143 次

传递委托类型的参数问题

    public class A
    {
        public delegate string ItemBinding(string name, int index);

        public void Run(ItemBinding fn){
            if (fn != null)
            {
                fn("jim",1);
            }
        }
    }



    public class B
    {
        //入口
        public void Main()
        {
            A a = new A();
            a.Run(Handle);
        }

        protected string Handle(string name, int index)
        {
            return index.ToString() + ":" + name;
        }
    }

为什么按上面的方式运行时,程序一直处于响应中卡在那不动,也不报错,请问是什么原因?要怎么解决?
委托?参数传递

------解决方案--------------------
fn("jim",1);
->
Console.WriteLine(fn("jim",1));
这样就能看到结果了。