1 回答

TA貢獻1826條經驗 獲得超6個贊
你可以制作IHelpers和Helpers通用。這將允許您創建一個使用類型參數名稱的類別ILoggerFactory的實例。ILogger這是一個例子:
public interface IHelpers<T> { }
public class Helpers<T> : IHelpers<T>
{
private readonly ILogger _logger;
public Helpers(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<T>();
}
}
要在 eg 中使用它SomeClass,請IHelpers<SomeClass>在構造函數中使用 for DI:
public class SomeClass
{
private readonly IHelpers<SomeClass> _helpers;
public SomeClass(IHelpers<SomeClass> helpers)
{
_helpers = helpers;
}
}
最后,注冊IHelpers<T>為開放通用,如下所示:
services.Add(ServiceDescriptor.Singleton(typeof(IHelpers<>), typeof(Helpers<>)));
- 1 回答
- 0 關注
- 138 瀏覽
添加回答
舉報