1. 程式人生 > >[轉載]淺談c#中的delegate和event了

[轉載]淺談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會指向無效地址或者越界地址。