잘못된 형식 문자열(IDE0043)

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

자세한 내용은 코드 분석 경고를 표시하지 않는 방법을 참조하세요.

참고하십시오