| Property | Value |
|---|---|
| 규칙 ID | IDE0043 |
| Title | 잘못된 형식 문자열 |
| 카테고리 | Style |
| 하위 범주 | 언어 규칙(문자열 작업) |
| 적용 가능한 언어 | C# 및 Visual Basic |
| Options | 없음 |
개요
이 규칙은 형식 문자열의 자리 표시자 인덱스가 존재하지 않는 인수를 참조하는 경우와 같은 String.Format복합 서식 지정 메서드에 대한 호출에 플래그를 지정합니다. 예를 들어, 형식 문자열에 {1}가 포함되어 있지만 제공된 인수는 하나뿐이고({0}로 액세스 가능), 규칙은 {1} 자리 표시자에 플래그를 지정합니다.
메모
이 규칙은 형식 문자열 인수의 유효성을 검사하는 코드 품질 규칙 CA2241과 유사합니다.
Example
// Code with violations.
// '{1}' is out of range — only one argument is provided.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice");
// Fixed code.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice", 5);
' Code with violations.
' '{1}' is out of range — only one argument is provided.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice")
' Fixed code.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice", 5)
경고 표시 안 함
단일 위반만 표시하지 않으려면 소스 파일에 전처리기 지시문을 추가하여 규칙을 사용하지 않도록 설정한 다음 다시 사용하도록 설정합니다.
#pragma warning disable IDE0043
// The code that's violating the rule is on this line.
#pragma warning restore IDE0043
파일, 폴더 또는 프로젝트에 대한 규칙을 비활성화하려면 none에서 해당 심각도를 로 설정하세요.
[*.{cs,vb}]
dotnet_diagnostic.IDE0043.severity = none
모든 코드 스타일 규칙을 비활성화하려면 Style에서 범주 none의 심각도를 로 설정하세요.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
자세한 내용은 코드 분석 경고를 표시하지 않는 방법을 참조하세요.
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET