[转载]浅谈c#中的delegate和event了

作者讲的很好,风趣幽默,娓娓道来https://www.cnblogs.com/chunhui212/p/5887579.html

delegate

delagete可以实现将方法作为参数传递,理解为函数指针,它允许传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。其余函数指针还是有区别的,函数指针只能指向静态函数,而delegate既可以引用静态函数,也可以引用非静态成员函数。delegate不但保存了对此函数入口指针的引用,而且还保存了调用此函数的类实例的引用。其次,与函数指针相 比,delegate是面向对象、类型安全、可靠的受控(managed)对象。也就是说,runtime能够保证delegate指向一个有效的方法, 你无须担心delegate会指向无效地址或者越界地址。

猜你喜欢

转载自blog.csdn.net/qq_31881865/article/details/82852154