繁体   English   中英

如何在Action委托中使用Lambda设置多个属性

[英]How to set multiple properties using Lambda in Action delegate

这可能很简单,但我无法弄清楚如何在单个语句中设置多个属性。

LCCorsOptions.cs

public class LCCorsOptions
{
    public int AppId { get; set; }
    public string Version { get; set; } = "1.0";
}

这是我到目前为止所得到的:

app.UseLCCors(o => o.Version = "1.0");

我尝试了多种方法,但没有运气

这是关于lambda语法,右边的部分是一个普通的方法体,当它是1个表达式或1个语句时,你可以缩短它。 否则,请使用full { };

app.UseLCCors(o => {o.Version = "1.0"; o.AppId = 2; });

我假设您使用的扩展方法是这样的:

  public static void UseLCCors(this List<LCCorsOptions> list, Action<LCCorsOptions> action)
    {
        foreach (var item in list)
        {
            action(item);
        }
    }

如果是这样的话,试着在lambda符号之后添加一些括号:

app.UseLCCors(x => { x.Version = "1"; x.AppId = 1; });

这是你一直在寻找的吗?

您可能希望在应用程序的初始化中提供LCCorsOptions 你不能做这样的事情:

app.UseLCCors(new LCCorsOptions{Version = "1.0", AppId = 2});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM