C#如何删除委派
本文关键字:删除 委派 何删除 | 更新日期: 2023-09-27 18:04:53
可能重复:
取消订阅C#中的匿名方法
我有一些面板,当创建时,它们被委托成为可点击的:
int z2 = z;
PicBx[z].Click += delegate { clicked(z2, null); };
如果程序需要,我想删除它。我尝试使用:
int z2 = z;
PicBx[z].Click -= delegate { clicked(z2, null); };
但它没有起作用。有什么方法可以从中删除可点击的委派吗?
您不能取消订阅匿名委托,您需要保留对委托的引用
var myClickDelegate = (RoutedEventHandler)delegate { clicked(z2, null); };
PicBx[z].Click += myClickDelegate;
...
PicBx[z].Click -= myClickDelegate;
或者创建命名函数
希望这能帮助