第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在自定義類構(gòu)造函數(shù)中注入單例并使用它 .NET 核心 2

如何在自定義類構(gòu)造函數(shù)中注入單例并使用它 .NET 核心 2

C#
慕娘9325324 2022-07-23 17:28:30
我在測試方面沒有豐富的經(jīng)驗,但我正在為我創(chuàng)建的一個類設(shè)置一個單例實例注入。但是,我不知道如何調(diào)用該類。如果我打電話,我需要構(gòu)造函數(shù)。如果我創(chuàng)建一個額外的空構(gòu)造函數(shù),則依賴項將顯示為 null。我花了幾天時間在文檔中尋找它,但它只顯示了如何注入的示例。之后我找不到如何實例化該類。另外,我看到了一些示例,但其中許多都使用 MVC 控制器,它們由框架自動實例化。Connector.cspublic class Connector{    private IConfiguration _configuration;    public Connector(IConfiguration configuration) {       _configuration = configuration;    }    public Connector() {    }     public string DoSomething() {      //return Something related to _configuration    }}startup.cspublic void ConfigureServices(IServiceCollection services){        //Other default config     services.AddSingleton(new Connector(Configuration)); } HomeController.cs public IActionResult Index() {        var x = (new Connector()).DoSomething(); //This will fail as _configuration is not injected        return View(); }如何使用注入的配置調(diào)用連接器?我錯過了任何依賴解決嗎?我是不是叫錯了班級?我希望有人可以對此有所了解。
查看完整描述

1 回答

?
料青山看我應(yīng)如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

DI 容器的想法是您不需要在方法中處理對象創(chuàng)建。您HomeController也不需要知道是否Connector實際上是單例。


您只需將依賴項注入構(gòu)造函數(shù)。

由于您已將其配置為單例,因此 DI 容器Connector每次都會解析為同一個實例。


public class HomeController 

    private readonly Connector _connector;


    public HomeController(Connector connector)

    {

        _connector = connector;

    }


    public IActionResult Index()

    {

        var x = _connector.DoSomething();

        // ...

    }


查看完整回答
反對 回復(fù) 2022-07-23
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號