函数指针delegate

行内人一看这标题就会笑着说“小样,delegate不止是函数指针”。但是如果你像我一样,只是想把delegate当做函数指针用,那么这篇文章正是你要找的。例子一目了然。

class CC
    {
        private int id;
        public static string getClassName()
        {
            return "CC";
        }
        public CC(int id)
        {
            this.id = id;
        }
        public int increaseID(int inc)
        {
            this.id += inc;
            return this.id;
        }
    }

class Program
    {
        public delegate string DgetClassName();
        public delegate int DincreaseID(int inc);
        static void Main(string[] args)
        {
            CC cc = new CC(1);
            DgetClassName getName = (DgetClassName)Delegate.CreateDelegate(typeof(DgetClassName), typeof(CC), "getClassName");
            DincreaseID increaseID = (DincreaseID)Delegate.CreateDelegate(typeof(DincreaseID), cc, "increaseID");
            Console.WriteLine(getName()); // output: CC
            Console.WriteLine(increaseID(50)); // output: 51
            Console.Read();
        }
    }


如果你这不是你想要的,顺序看完你一定可以找到答案:

http://msdn.microsoft.com/en-us/library/96b1ayy4(v=VS.90).aspx

http://msdn.microsoft.com/en-us/library/s3860fy3(v=VS.90).aspx

http://msdn.microsoft.com/en-us/library/system.delegate.createdelegate(v=VS.90).aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值