| 属性 | 值 |
|---|---|
| 规则 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);
// ...
}
}
何时禁止显示错误
不禁止显示此规则发出的警告。