代码检查:构造函数的参数可以声明为基类型
此检查会报告将构造函数参数声明为具体类型的情况,即使构造函数只使用基类型或接口成员。 这样会让所构建的类型与单一实现的耦合度降低,并允许更多调用者传递兼容的对象。
示例
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日