如何在 "normal" c# 类中使用/注入服务,例如在 Blazor @inject类名类对象



我有一个 Blazor 项目,在程序中.cs(正式又名 Startup.cs( 我添加了一个服务

builder.Services.AddSingleton<Models.UserVisit>();

我可以在剃刀/blazer页面上使用/访问该服务,如下所示:

@inject Models.UserVisit userVisitObj

(用户访问是文件夹模型中的"普通"C# .cs类(

我不知道的是,如何在没有 razorpage 的普通 C# 类中使用此"userVisitObj"(我将在其中使用 @inject(?

我如何在这里使用它(同一项目中的普通 C# 类但没有 blazor/razor 组件页面(:

public class UserModel
{
[BsonId]
public Guid Id { get; set; }
public CultureInfo UserCultureInfo { get; set; }
...
public UserModel()
{
[Inject]
Models.UserVisit userVisitObj;   // THAT DOESN'T WORK -- ERROR
}
}

我希望我能把我的问题说清楚一点(请善待我仍然是初学者(。

可以按如下方式使用构造函数注入:

private readonly Models.UserVisit _userVisitObj
public UserModel(Models.UserVisit userVisitObj)
{
_userVisitObj = userVisitObj;

}

请注意,这适用于普通的 C# 类。

如果您的类是组件类,则需要将 Inject 属性与 公共财产,例如:

[Inject]
public Models.UserVisit UserVisit {get; set;}

希望这有帮助...

相关内容

  • 没有找到相关文章

最新更新