簡體   English   中英

如何在從基礎 class 繼承的 class 中編寫 class 構造函數,其中基礎 ZA2F2ED4F8EBC2CBB4C21AAB29DC4 需要注入服務?

[英]How can I code a class constructor in a class that inherits from a base class where the base class needs a service injected?

誰能給我一些建議。 我在用

Microsoft.Extensions.DependencyInjection 版本 5.0.1 nuget package

我有許多不同的視圖,它們都基於 LogBase。 在 logBase 中有設置的屬性,所以我需要注入 ConfigService:

public class LogViews : LogBase
{
    public LogViews()
    {
        //
    }
    //
}

public class LogBase
{
    private readonly IConfigService _configService;
    public LogBase(IConfigService configService)
    {
        _configService = configService;
        X = _configService.X;
    }
}

但是當代碼運行時,它會在public LogViews()出現錯誤,因為它試圖調用需要 configService 參數的 LogBase 構造函數。

有誰知道如何解決這個 DI 問題?

您應該定義LogViews的參數化構造函數,該構造函數應該注入IConfigService實例。 同樣可以傳遞給基本構造函數,如下所示

public class LogViews : LogBase
{
    public LogViews(IConfigService configService) : base(configService)
    {
        //
    }
    //
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM