JetBrains Rider 2026.1 Help

Code inspection: Parameter of the constructor can be declared with the base type

This inspection reports a constructor parameter declared as a concrete type even though the constructor only uses base-type or interface members. This makes the constructed type less coupled to one implementation and allows more callers to pass compatible objects.

Example

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"); } }

Quick-fix

Change the constructor parameter type to the suggested base type or interface.

29 March 2026