Есть ли API в .NET для чтения [закрытого] файла документации по комментариям XML

Вы можете сделать это, используя get_field :

from django.core.exceptions import FieldDoesNotExist


order_by = self.request.GET.get('order_by', 'id')
try:
    if order_by.startswith('-'):
        Item._meta.get_field(order_by[1:])
    else:
       Item._meta.get_field(order_by)
except FieldDoesNotExist:
    # field does not exist

К вашему сведению, это решение не будет работать с foreignkey/m2m__field_name выражениями.

16
задан Community 23 May 2017 в 12:24
поделиться

4 ответа

Я поддерживаю проект Jolt.NET на CodePlex и реализовал функцию, которая выполняет эту самую задачу. Для получения дополнительной информации обратитесь к библиотеке Jolt .

По сути, библиотека позволяет программно находить и запрашивать файл комментариев XML-документа для сборки, используя типы метаданных в System.Reflection (например, MethodInfo , PropertyInfo и т. Д.).

7
ответ дан 30 November 2019 в 22:43
поделиться

Microsoft Sandcastle - это инструмент для извлечения документации из сборок с помощью или без помощи файлов комментариев XML. Он был выпущен как открытый исходный код. Вы можете попробовать взглянуть на код этого инструмента.

4
ответ дан 30 November 2019 в 22:43
поделиться

Давайте подумаем об этом.

XML-комментарии никогда не являются частью сборочной единицы. Поэтому у сторонней сборки, о которой вы говорите, не будет никакой информации, из которой вы сможете извлечь комментарии.

Теперь, если эти сборки могут генерировать XML-файлы, содержащие эту документацию, возможно, с использованием SandCastle или nDoc, вы можете прочитать эти XML файлов, как вы хотите.

Следующий вопрос - если у вас есть эти XML-файлы документов, как их анализировать и читать

  • , я бы предложил использовать Linq to XML для быстрого и простой способ загрузить эту документацию. Это намного лучше, чем обработка XSLT, которую выполняет SandCastle. Использование Linq to XML не займет много времени,
2
ответ дан 30 November 2019 в 22:43
поделиться

Возможно, вы захотите изучить следующие библиотеки

1
ответ дан 30 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: