【问题标题】:Passing parameters when calling a method using lambda expression使用 lambda 表达式调用方法时传递参数
【发布时间】:2021-03-02 17:53:00
【问题描述】:

被调用的方法如下所示:

        protected void Scoped(Action<Context, Repository> fn, bool isValid)
        {
            // this is another Scoped() method
            Scoped(context => 
            {
                // do something
                fn(context, repo);
            });
        }

从单元测试中,我尝试调用此方法,但我不知道如何传递 isValid 布尔值。它不允许我这样传递:

            Scoped((context, repo), true =>
            {
                //do something
            });

传递参数的正确方法是什么? 谢谢

【问题讨论】:

    标签: c# lambda parameter-passing


    【解决方案1】:

    “true”是action后面的参数,不在里面:

    Scoped((context, repo) => doSomething, true)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多