Как я могу объединить комментарии 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, красивые и чистые, никаких манипуляций со струнами не требуется.