gpt4 book ai didi

c# - 如何在 "normal"c# 类中使用/注入(inject)服务,例如 Blazor @inject ClassName classObject

转载 作者:行者123 更新时间:2023-12-04 15:58:58 24 4
gpt4 key购买 nike

我有一个 Blazor 项目,在 Startup.cs 中我添加了一个服务

        public void ConfigureServices(IServiceCollection services)
{
....
services.AddSingleton<Models.UserVisit>();
}
我可以在 razor/blazor 页面上使用/访问该服务,如下所示:
       @inject Models.UserVisit userVisitObj
(UserVisit 是 Models 文件夹中的“普通”C# .cs 类)
我不知道如何在没有 razorpage 的普通 C# 类中使用这个“userVisitObj”(我将在其中使用@inject)?
我如何在这里使用它(同一项目中的普通 C# 类,但没有 blazor/razor-componentpage):
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
}
}
我希望我能让我的问题有点清楚(请善待我仍然是初学者)。

最佳答案

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

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

}
请注意,这适用于普通的 C# 类。
如果您的类是组件类,则需要将 Inject 属性与
公共(public)属性(property),例如:
[Inject]
public Models.UserVisit UserVisit {get; set;}
希望这可以帮助...

关于c# - 如何在 "normal"c# 类中使用/注入(inject)服务,例如 Blazor @inject ClassName classObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62731756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com