문제

앱의 일부는 Codedom을 사용하여 생성 된 코드를 사용합니다. 이 코드는 XML 주석이 필요하지 않으므로 추가하고 싶습니다.

#pragma warning disable 1591 

생성 된 파일에. 이것은 Codedom에서 가능합니까? 그렇지 않다면 이것을 달성하는 방법에 대한 다른 제안이 있습니까?

도움이 되었습니까?

해결책

provider.GenerateCodeFromCompileUnit(
    new CodeSnippetCompileUnit("#pragma warning disable 1591"),
    sourceWriter, options);
provider.GenerateCodeFromCompileUnit(targetUnit, sourceWriter, options);
provider.GenerateCodeFromCompileUnit(
    new CodeSnippetCompileUnit("#pragma warning restore 1591"),
    sourceWriter, options);

다른 언어로 잘 번역되지 않습니다. ymmv -ian

다른 팁

모든 반사판 코드를 살펴보면 "올바른"방식으로 나타나지 않습니다. 그러나 세대 후 처리를 기꺼이하려는 경우 방법이있을 수 있습니다. Region Directive를 사용하여 지역 텍스트 값에 특수 토큰을 배치하십시오. 그런 다음 코드가 생성되면 돌아가서 문자열 교체를 수행하십시오.

코드에서 일치하는 코드 영역을 시행하는 코드에서 아무것도 보지 못했기 때문에 끝에 단일 시작 코드 영역이있어 경고를 다시 활성화 할 수 있습니다.

예를 들어. 토큰은 "#pragma1591"및 "#enablewarnings"일 수 있습니다. 따라서 코드가 생성 된 후

#region #PRAGMA1591

...

#region #WARNINGRESTORE
#endregion

그런 다음 문자열 교체를 수행하여 다음을 수행합니다.

#region Disable Warning 1591
#pragma warning disable 1591

...

#pragma warning restore
#endregion

당신의 문자열은 다음과 같이 확장됩니다.

  • pragma1591-> XML 문서의 부족을 무시 n #Pragma 경고

    1591을 비활성화하십시오
  • 지역 #warningsrestore-> #pragma 경고 복원

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top