如何在Action委托中通过Lambda为LCCorsOptions设置多个属性
解决在
UseLCCors中一次性设置多个属性的问题 这事儿其实很简单!你之前觉得只能单条语句设置属性,是因为用了简化的lambda写法,但实际上UseLCCors接受的Action<LCCorsOptions>委托完全支持多行代码块,只要用大括号把多个赋值语句包起来就行。
先回顾下你的代码:
你的配置类:
public class LCCorsOptions { public int AppId { get; set; } public string Version { get; set; } = "1.0"; }
你当前的实现:
app.UseLCCors(o => o.Version = "1.0");
修改后的写法(一次性设置多个属性)
只需要把lambda改成带大括号的代码块形式,就能同时配置AppId和Version了:
app.UseLCCors(o => { o.AppId = 456; // 替换成你实际需要的AppId数值 o.Version = "2.1"; // 覆盖默认的Version值 });
额外小技巧
如果UseLCCors方法有接受LCCorsOptions实例的重载,你还可以直接用对象初始化器来创建配置实例并传入,写法更简洁:
app.UseLCCors(new LCCorsOptions { AppId = 456, Version = "2.1" });
不过这个得看你封装的UseLCCors有没有对应的重载,如果没有的话,还是用第一种代码块的写法最稳妥。
内容的提问来源于stack exchange,提问作者SteinTech
相关产品推荐
相关产品推荐

