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 关注
- 280 浏览
添加回答
举报
