我有一个Blazor应用程序,我用c#在相关的xxx.razor.cs类中编程每个剃刀页面的代码。我有在这个c#代码中使用通用函数的情况。与其在每个类中重复通用函数,不如定义一个通用类,然后在每个类中调用该函数。我该怎么做呢?我已经在c#桌面应用程序中尝试过了,但是它不起作用。
Commonclass test = new Commonclass();
test.CommonFunction();
我不知道为什么,但尝试了几个小时后,我看到我的错误总是只是当我发布了我的问题。我已经从另一个目录复制了公共类。我忘记更正命名空间了。修正后,它工作了。
我认为可以接受的方法是依赖注入。scoped
或singleton
服务
Program.cs
builder.Services.AddSingleton<Commonclass>();
剃刀页
[Inject] Commonclass test { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
test.CommonFunction();
}