【发布时间】:2022-01-15 04:59:09
【问题描述】:
我需要使用几个方便的方法来扩展所有 Blazor 组件(不管为什么,只是一些特定于项目的东西)。
我不确定这是否是在 Blazor 中执行此操作的唯一方法,但我决定使用良好的旧扩展方法:
public static class ComponentBaseExtensions
{
public static string MyMethod(this ComponentBase component, ...)
{
...
}
}
一切都很好,除了一个烦人的问题:这些扩展方法只有在我通过this 调用它们时才可用,即该代码是有效的:
<div class="@this.MyMethod()"></div>
而这个不是:
<div class="@MyMethod()"></div>
所以,问题是:为什么它会这样以及如何摆脱它(如果可能的话)以使剃须刀模板更干净?
【问题讨论】:
标签: razor blazor .net-5 blazor-webassembly