2015-01-26 3 views
1

저는 C# 구문의 초보자입니다. vb.net에서 꽤 오랫동안 프로그래밍되었습니다.현지화 가능 문자열 경고 R #

ToolStripMenuItem setPriorityDropdown = new ToolStripMenuItem {Text = "Set priority"}; 

이 코드에서 R #은 "우선 순위 설정"이 지역화 가능한 문자열임을 경고합니다. 온라인으로 검색 한 결과, 경고 앞에 @를 사용하여 @ "Set Priority"가되어야한다는 것을 알았지 만,이 경우 R #은 계속해서 지역화 가능하다고 계속 알려줍니다.

왜 문자열을 지역화 할 수 없으며, R #이 ("첫눈에") 옵션을 해제해야하는 이유에 대해 적절한 대답을 얻을 수 없었습니다. 이유

setPriorityDropdown.DropDownItems.Add("Priority 1"... 

경고가 표시되지 않습니까?

첫 번째 문제는 무엇입니까? 어떻게 해결할 수 있습니까?

답변

2

해결책에 대해 this 질문에 대한 답변을 확인하십시오. R # 설정은 축 어적 문자열을 무시하고 여전히 지역화 가능한 것으로보고하도록 설정됩니다. 즉, R #에서는 "magic"문자열을 언어 현지화에 도움이되는 리소스 파일로 옮기길 원합니다. 따라서 다른 언어로 응용 프로그램을 배포하려는 경우 전체 코드 기반을 검색하는 대신 리소스 파일에 번역을 쉽게 정의 할 수 있습니다. 왜 개체 이니셜 라이저 구문을 사용하여 Add() 메서드가 아닌 오류가 throw되는지에 대해서는 확실하지 않습니다. R #이 객체 이니셜 라이저 구문을 사용하는 것과 같은 다른 문제에 대해 불평 할 수 있습니다.

+0

이미 그 질문을 보았습니다. 너무 열심히 검사를 취소 했으므로 다시 확인하고 @ "문자열"은 더 이상 경고를 표시하지 않습니다. 그러나 "경고"를주지 않고 "문자열"에 대한 다른 옵션이 있습니까? 왜냐하면 나는 지금 내 애플 리케이션에서 번역에 대해 걱정하고 싶지 않다 ... – SomeNickName

+2

그건 분명히 할 수 있습니다. ReSharper 메뉴에서 "옵션"을 선택하십시오. 코드 검사 -> 검사 심각도에서 C# 탭을 선택합니다. "잠재적 인 코드 품질 문제"에서 "요소가 지역화 가능"의 드롭 다운을 "경고"에서 "표시하지 않음"으로 변경하십시오. –

+0

고마워요, 그냥 껐습니다! – SomeNickName