CA2253:已命名占位符不应是数值

属性
规则 ID CA2253
标题 已命名占位符不应是数值
类别 使用情况
修复是中断修复还是非中断修复 非中断
在 .NET 9 中默认启用 作为建议

原因

消息占位符仅包含数字字符。

规则说明

日志记录消息模板中的已命名占位符不应仅由数值字符组成。

如何解决冲突

重命名数字占位符。

有关用法示例,请参阅 LoggerExtensions.LogInformation 方法。

Example

public class UserService
{
    private readonly ILogger<UserService> _logger;

    public UserService(ILogger<UserService> logger)
    {
        _logger = logger;
    }

    public void Add(string firstName, string lastName)
    {
        // This code violates the rule.
        _logger.LogInformation("Adding user with first name {0} and last name {1}", firstName, lastName);

        // This code satisfies the rule.
        _logger.LogInformation("Adding user with first name {FirstName} and last name {LastName}", firstName, lastName);

        // ...
    }
}

何时禁止显示错误

不禁止显示此规则发出的警告。

另请参阅