Как сделать cref для перегрузки метода в теге <seealso> в C #?

StackOverflow https://stackoverflow.com/questions/419702

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Я пытался:

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

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

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

Это было полезно?

Решение

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

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

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

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

Во-вторых, это может доставить больше хлопот, чем пользы ;)

Другие советы

К цели специфический подписчики, я полагаю, вы просто сопоставляете подпись:

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

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

Используя Песочный замок, это просто:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top