使用 lambda 的 Blazor 文本插值
Posted
技术标签:
【中文标题】使用 lambda 的 Blazor 文本插值【英文标题】:Blazor Text Interpolation using lambda 【发布时间】:2022-01-19 05:30:22 【问题描述】:我在后面的代码中有这个:
protected double GetRate(double manual) => 100 - manual;
在我的 html 中,我有这个:
<MudTd DataLabel="Rate">"@(() => GetRate(context.ManualRate))" %</MudTd>
但是这个 html 部分给了我一个错误
Cannot convert lambda expression to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type
我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:当你想显示转换时,你不需要一个 lambda,只需要一个方法调用:
Not: <MudTd DataLabel="Rate">"@(() => GetRate(context.ManualRate))" %</MudTd>
But: <MudTd DataLabel="Rate">@GetRate(context.ManualRate) %</MudTd>
【讨论】:
是的。我已经得到了这个。不过还是谢谢你的回答。以上是关于使用 lambda 的 Blazor 文本插值的主要内容,如果未能解决你的问题,请参考以下文章
c# blazor 避免在委托类型返回 'void' 时使用 'async' lambda