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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在沒(méi)有具體<T>的情況下在.Net core中注入NLOG?

在沒(méi)有具體<T>的情況下在.Net core中注入NLOG?

C#
白板的微信 2023-07-22 15:53:13
文檔說(shuō)我們應(yīng)該使用它以便在 .Net core DI 中使用 Nlog :.UseNLog();  // NLog: setup NLog for Dependency injection然后我們就可以使用 DI 了:public class HomeController : Controller{    private readonly ILogger<HomeController> _logger;    public HomeController(ILogger<HomeController> logger)    {        _logger = logger;    }}但我們不會(huì)將 ILogger 注入到我們想要登錄的每個(gè)類(lèi)中。我們有一個(gè)名為的服務(wù)IHelper,它依次注入Ilogger:public class Helpers : IHelpers{    private readonly ILogger _logger;    public Helpers(ILogger<Helpers> logger)    {        _logger = logger;    }}所以事實(shí)證明我們總是使用Helpersas 類(lèi)型。(:/)我嘗試僅注入(?。㊣Logger(沒(méi)有類(lèi)型),但出現(xiàn)錯(cuò)誤。問(wèn)題:有沒(méi)有更好的模式可以在ILogger沒(méi)有虛擬<Helpers>(在我的情況下......)類(lèi)型的情況下使用?或者有沒(méi)有辦法不指定任何類(lèi)型?
查看完整描述

1 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

你可以制作IHelpers和Helpers通用。這將允許您創(chuàng)建一個(gè)使用類(lèi)型參數(shù)名稱(chēng)的類(lèi)別ILoggerFactory的實(shí)例。ILogger這是一個(gè)例子:


public interface IHelpers<T> { }


public class Helpers<T> : IHelpers<T>

{

    private readonly ILogger _logger;


    public Helpers(ILoggerFactory loggerFactory)

    {

        _logger = loggerFactory.CreateLogger<T>();

    }

}

要在 eg 中使用它SomeClass,請(qǐng)IHelpers<SomeClass>在構(gòu)造函數(shù)中使用 for DI:


public class SomeClass

{

    private readonly IHelpers<SomeClass> _helpers;


    public SomeClass(IHelpers<SomeClass> helpers)

    {

        _helpers = helpers;

    }

}

最后,注冊(cè)IHelpers<T>為開(kāi)放通用,如下所示:


services.Add(ServiceDescriptor.Singleton(typeof(IHelpers<>), typeof(Helpers<>)));


查看完整回答
反對(duì) 回復(fù) 2023-07-22
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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