Как сделать перегрузку метода cref для метода в теге <seealso>в C #? - PullRequest
23 голосов
/ 07 января 2009

Я вижу в ссылках MSDN, таких как «CompareOrdinal Overloads». Как я могу написать такую ​​ссылку на C #?

Я пытался:

<seealso cref="MyMethod">MyMethod Overloads</seealso>

Но компилятор дает мне предупреждение о неоднозначной ссылке на метод, который имеет другие перегрузки.

(Вопрос для начинающих: нужно ли мне писать этот тег для ссылки на перегрузки или он автоматически генерируется процессорами документации?)

Ответы [ 3 ]

14 голосов
/ 07 января 2009

Для таргетинга конкретных участников, я полагаю, вы просто соответствуете подписи:

/// <seealso cref="Foo(int)"/>
static void Foo() { }
/// <seealso cref="Foo()"/>
/// <seealso cref="Foo(float)"/> <------ complains
static void Foo(int a) { }

Если честно, я не уверен, как создать ссылку "все перегрузки"; Я предполагаю, что любой разумный генератор делал это автоматически.

12 голосов
/ 07 января 2012

Используя Sandcastle, это просто:

<seealso cref="overloads:FullyQualifiedMyMethod">MyMethod Overloads</seealso>

FullyQualifiedMyMethod - это полный маршрут, необходимый для достижения перегрузки, включая пространства имен и классы, т.е. System.Linq.Enumerable.Sum

Однако VB-компилятор выдает предупреждение о том, что атрибут не может быть разрешен, что можно игнорировать.

4 голосов
/ 07 января 2009

В XML-документации нет средств для ссылки на все перегрузки метода.

Самый популярный генератор документации для проектов на C # - Sandcastle. Он автоматически создаст ссылку на страницу списка перегрузок, если это необходимо. Следовательно, на странице списка членов имя перегруженного метода появится только один раз, щелкнув по нему, вы перейдете на страницу списка перегрузок для этого метода и оттуда к определенной перегрузке.

Размещение ссылки на страницу со списком перегрузок в документации Xml потребует глубоких знаний об используемом внешнем инструменте и, вероятно, не является хорошей идеей.

Если вы действительно должны иметь это, то, возможно, одним из способов является использование якоря со специально сформированным идентификатором. Большинство генераторов документов предоставляют некоторые непонятные средства предварительной или последующей обработки сгенерированных файлов и должны дать вам возможность выбрать эти якоря и предоставить для них соответствующий href.

OTH, это может быть больше проблем, чем стоит;)

...