小编Mas*_*uri的帖子

如何将依赖项注入静态类

我一直在用DI制作简单的记录器类,但是我有一些问题。

这儿存在一个问题。如果我使用DI进行记录器课程。每当我使用它时,都应该这样使用它。

var logger = new LogService(new FileLogger());
logger.WriteLine("message");
Run Code Online (Sandbox Code Playgroud)

我想使其成为静态类,但是没有办法通过静态类中的构造函数注入依赖项。

所以,我这样改变它。

public static class LogService()
{
    private static readonly ILoggable _logger;
    static LogService()
    {
         _logger = new FileLogger();
    }
}
Run Code Online (Sandbox Code Playgroud)

我觉得这很奇怪。这不是DI ..

没有将依赖项注入静态类的好方法吗?

谢谢。

c# dependency-injection

4
推荐指数
2
解决办法
8353
查看次数

为什么编译器认为两个空类是不同的?

为什么编译器认为这两个类不同?

public class A()
{
}

public class B()
{
}
Run Code Online (Sandbox Code Playgroud)

我觉得这个问题真的很可笑。但我想知道编译器确定它们不同的核心原因是什么。有没有人可以告诉我编译器背面发生了什么。

谢谢你。

c#

-6
推荐指数
1
解决办法
77
查看次数

标签 统计

c# ×2

dependency-injection ×1