Я пытаюсь полностью документировать все типы, методы, свойства и т. Д. Библиотеки классов, используя комментарии XML, но столкнулся с любопытным эффектом, связанным с атрибутом cref
(используется тегами see
например). Судя по совету this MSDN page, а также следующий различные другие примеры на MSDN и других веб-сайтах, кажется, что всякий раз, когда один задает эталонное значение, используя cref
тега, он должен иметь префикс с определенным маркером, который классифицирует refence (например, «T : 'для типа и' M: 'для метода).Справочные префиксы в документации XML XML
Использование Microsoft Sandcastle, однако, я заметил, что, упустив эти префиксы, в сгенерированной документации есть эффект (файл справки CHM в этом случае). В том числе префиксы (во всех ситуациях, которые я верю), ссылка отображается на странице в виде жирного текста ... Однако, сохраняя префикс, ссылка отображается как привязка (ссылка) к соответствующей странице в ссылке API. Мне кажется довольно странным, что рекомендуемый метод префикса (все?) Ссылки дает наименее полезный результат - почему эта ссылка должна быть выделена жирным шрифтом в одном случае и связана с другим? Я был бы признателен, если бы кто-то мог пролить свет на это.
Ах, хорошо найти. Странно, однако, что это, вероятно, было исправлено. Я использую последнюю (май 2008) версию Sandcastle с патчем от http://sandcastlestyles.codeplex.com/. – Noldorin
Действительно, похоже, что компилятор автоматически добавляет префикс (а также полностью определяет ссылочное имя). Я сделал немного больше тестирования, и проблема заключалась в том, что если вы включаете префикс, вы также должны полностью квалифицировать тип namne, или ссылка не имеет смысла. В заключение кажется, что во всех случаях я могу избежать использования префиксов в коде. (Исправьте меня, если я ошибаюсь.) В любом случае, спасибо за ответ! – Noldorin
Я бы подумал, что единственный раз, когда вам нужно будет использовать конкретную аннотированную форму, возникает столкновение имен (что-то действительно противное: класс Bar: ICloneable {public object Clone; object ICloneable.Clone() {}} Я бы не подумал, что вам нужно будет использовать это часто, если когда-либо. – ShuggyCoUk