C#的委托(delegate)和事件(event)

有一些概念是看过一次记得,久不接触就忘了的,但是以后要重新捡起,又要花些时间看书,所以记下来为了巩固。

1. 申明Deleagate:其实背后是IL编译器为你创造了一个封装函数指针的类,这个类名就是你申明时所用的函数名,例如Delegate void AddDelegate(int, int)。winForm技术中喜欢将AddDelegate称为AddEventHandler,所以也就有了那么多EventHandler。

2. 申明Event::当Event和前面申明的委托,也就是AddEventHandler联合申明一个事件,例如 public event AddEventHandler addevent, 这个IL编译出来的的是包含函数指针列表的类实例。而addevent()调用,就变成函数列表的调用,官方文字称诸多订阅该事件的委托实例的调用。所以订阅的语句:addevent+= new AddEventHandler(clientDimAdd) ,也就是将这个回调函数加入到列表中,以便事件触发时依次调用。

1,205人评论了“C#的委托(delegate)和事件(event)”

  1. Zoek je informatie over THC vape Nederland? Op deze pagina vind je een duidelijke uitleg over wat THC-vapes zijn, hoe ze werken en wat je moet weten over de wetgeving en veiligheid in Nederland. Dit helpt je om goed geïnformeerde keuzes te maken. https://vapethc.nl/

  2. Wil je een rijbewijs kopen in Nederland en België op een snelle en betrouwbare manier? Het is belangrijk om te weten dat een rijbewijs alleen legaal verkregen kan worden via officiële instanties. Wij helpen je door het volledige proces eenvoudig, duidelijk en snel te maken, zodat je zonder stress jouw rijbewijs kunt behalen.https://rijbewijskopenb.nl/

  3. Wil je een rijbewijs kopen in Nederland en België op een snelle en betrouwbare manier? Het is belangrijk om te weten dat een rijbewijs alleen legaal verkregen kan worden via officiële instanties. Wij helpen je door het volledige proces eenvoudig, duidelijk en snel te maken, zodat je zonder stress jouw rijbewijs kunt behalen.https://rijbewijskopenb.nl/

  4. In today’s digital world, securing cryptocurrency assets is more important than ever. Trezor Wallet is one of the most trusted solutions for protecting Bitcoin, Ethereum, and other cryptocurrencies. Developed by Trezor, this hardware wallet provides advanced security features while remaining simple for beginners and experienced investors alike.

发表评论

邮箱地址不会被公开。