代码检查:构造函数的参数可以声明为基类型
该检查会报告将构造函数参数声明为具体类型的情况,即使构造函数只使用基类型或接口成员。 这样可以让构造类型减少对某个实现的耦合,并允许更多调用者传入兼容对象。
示例
interface ILogger
{
void Log(string message);
}
class ConsoleLogger : ILogger
{
public void Log(string message) { }
}
class Service
{
public Service(ConsoleLogger logger)
{
logger.Log("started");
}
}
interface ILogger
{
void Log(string message);
}
class ConsoleLogger : ILogger
{
public void Log(string message) { }
}
class Service
{
public Service(ILogger logger)
{
logger.Log("started");
}
}
快速修复
请将构造函数参数类型更改为建议的基类型或接口。
2026年 5月 8日