Как я могу объединить комментарии XML обратно в файл.cs?

Извлечение комментариев из файлов класса C# относительно легко (см. Извлечение комментариев из документа из исходного файла C#), но недавно я столкнулся с противоположной проблемой.

Мой проект имеет несколько классов, которые генерируются из схемы XML (через Microsoft xsd.exe). Я хотел бы написать XML-документацию по этим классам, но мы должны пересоздавать их время от времени. Я хотел бы иметь возможность записывать комментарии, извлекать их в свой собственный XML-файл, запускать xsd.exe воссоздать классы из схемы, а затем объединить комментарии обратно.

Есть ли способ сделать это?

1 ответ

Решение

Я заглянул внутрь xsd.exe версии SDK v8.1A (он был написан на.NET, так что вы можете использовать такой инструмент, как JustDecompile, чтобы посмотреть, что он делает). Метод, который управляет генерацией XSD->C#, называется ImportSchemasAsClasses, Что он делает, это читает файлы XSD в сыром XmlSchemas Например, импортируйте схемы с помощью XmlSchemaImporter класс (в абстрактную модель, называемую сопоставлением типов), а затем генерировать код с XmlCodeExporter класс в классы Code DOM. Как видно из ссылок, это общедоступные, но недокументированные API. Но вы можете легко скопировать то, что делает xsd.exe (вам нужно только вызывать общедоступные API.NET, просто скопируйте и вставьте то, что делает xsd.exe) и коснитесь нужного места, чтобы добавить некоторые комментарии в Code DOM, красивые и чистые, никаких манипуляций со струнами не требуется.

Другие вопросы по тегам