2014-11-20 1 views
4

C# 클래스 파일에서 주석을 추출하는 것은 비교적 쉽지만 (Extracting doc comments from C# source file 참조), 최근 반대 문제가 발생했습니다.XML 주석을 다시 .cs 파일로 병합 할 수 있습니까?

내 프로젝트에는 XML 스키마 (Microsoft의 xsd.exe을 통해)에서 생성 된 많은 클래스가 있습니다. 이 클래스들에 XML 문서를 작성하고 싶지만, 매번 반복해서 작성해야한다. 주석을 쓰고, 자신의 .xml 파일에 압축을 풀고 xsd.exe을 실행하여 스키마에서 클래스를 다시 만든 다음 주석을 다시 병합하고 싶습니다.

할 방법이 있습니까? 이?

+0

죄송합니다. 그러나 추천 도구는 주제와 관련이 없습니다. – tnw

+1

(희망을 갖고) 주제에 대해 조금 더 자세하게 꾸몄습니다. – gcarvelli

답변

3

SDK의 v8.1A 버전 xsd.exe (.NET에서 작성되었으므로 JustDecompile과 같은 도구를 사용하여 그 기능을 볼 수 있음)을 들여다 보았습니다. XSD-> C# 세대를 구동하는 방법은 ImportSchemasAsClasses입니다. XSD 파일을 원시 XmlSchemas 인스턴스로 읽어 들여 XmlSchemaImporter 클래스 (형식 매핑이라는 추상 모델)로 스키마를 가져온 다음 클래스의 코드를 Code DOM 클래스로 생성합니다. 링크에서 볼 수 있듯이 공개되지 만 문서화되지 않은 API입니다. 그러나 xsd.exe가하는 일을 쉽게 복제 할 수 있습니다 (공용 .NET API 만 호출하고 xsd.exe의 기능을 복사하여 붙여 넣기 만하면됩니다) 코드 DOM에 몇 가지 설명을 추가하려면 올바른 위치를 탭하고, 문자열 조작이 필요하지 않습니다.

+1

MSDN에서 사용자 지정 xml 매핑을 만드는 방법에 대한 문서가 있습니다. http://msdn.microsoft.com/en-us/library/aa302301.aspx –

+0

감사. 이것은 좋은 아이디어처럼 들리지만 MS의 코드를 디 컴파일 (decompiling) 및 재사용 (re-purposing)하는 아이디어를 좋아합니다. – gcarvelli

관련 문제