0

我在 windows phone 上工作了很多,我注意到有时当您使用多个以不同速度返回并且都执行异步的系统时,这是一个挑战。

我想出的处理这个问题的方法之一(效果惊人)是嵌套 lambdas。它控制执行流程并防止竞争事件,同时也不锁定 UI。我的问题是,我只是一起经历了这个,没有太多的研究。

嵌套多个 lambdas 是不好的做法吗?有哪些负面影响?

假设以下

它不是真正的代码,我将其淡化以便易于理解,放松

Query.AsyncExicute();

CheckQueryCompletedBagTimer.Tick += (sender1,arg1) =>{
    
      if(bag.count<=0)
          return;
      else{
         MakeAnotherQuery.Exicute();
         CheckQueryCompletedBagTimer2.Tick += (sender2,arg2) =>{
            //Do some more code

          };

      }
};

CheckQueryCompletedBagTimer.Start();
4

1 回答 1

1

我想说,如果嵌套 lambdas 不会影响性能,那么使用它们应该没有问题。

但是,如果有一种更直接的方法可以在不使用嵌套的情况下获得相同的结果,请使用它,因为嵌套 lambdas 会影响代码的理解和可维护性。

//comment嵌套 lambda 表达式上方的A必须清楚地解释你在做什么(对我来说)

于 2013-08-16T19:55:52.020 回答