如果我创建这样的 lambda 回调:
var someInstance = new SomeObject();
someInstance.Finished += (obj, args) =>
{
// Do something
// Deregister here
};
someInstance.DoAction();
我如何取消注册回调作为实际处理程序代码的一部分?这种模式将是理想的,因为我可以确保它尽快发布。
我见过类似的问题,但没有看到直接解决此类示例的问题。
最佳答案
用类似的东西,
var someInstance = new SomeObject();
EventHandler myDelegate = null;
myDelegate = (obj, args) =>
{
// Do something
// Deregister here
someInstance.Finished -= myDelegate;
};
someInstance.Finished += myDelegate;
someInstance.DoAction();
关于c# - 如何取消注册我的 Lambda 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797330/