Ghi
Quyền truy cập vào trang này yêu cầu sự cho phép. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Quyền truy cập vào trang này yêu cầu sự cho phép. Bạn có thể thử thay đổi thư mục.
| Property | Value |
|---|---|
| Rule ID | CA1727 |
| Title | Use PascalCase for named placeholders |
| Category | Naming |
| Fix is breaking or non-breaking | Non-breaking |
| Enabled by default in .NET 10 | No |
Cause
A named placeholder used with ILogger is not PascalCase.
Rule description
A named placeholder used with ILogger should be PascalCase, a naming convention where the first letter of each compound word in a name is capitalized. This naming convention is recommended for structured logging, where each named placeholder is used as a property name in the structured data.
How to fix violations
Use PascalCase for named placeholders. For example, change {firstName} to {FirstName}.
Example
public class UserService
{
private readonly ILogger<UserService> _logger;
public UserService(ILogger<UserService> logger)
{
_logger = logger;
}
public void Create(string firstName, string lastName)
{
// This code violates the rule.
_logger.LogInformation("Creating user {firstName} {lastName}", firstName, lastName);
// This code satisfies the rule.
_logger.LogInformation("Creating user {FirstName} {LastName}", firstName, lastName);
}
}
When to suppress warnings
It is safe to suppress a warning from this rule.
Suppress a warning
If you just want to suppress a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable CA1727
// The code that's violating the rule is on this line.
#pragma warning restore CA1727
To disable the rule for a file, folder, or project, set its severity to none in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.CA1727.severity = none
For more information, see How to suppress code analysis warnings.