Могу ли я ссылаться на перегруженный метод, используя теги документации C #? - PullRequest
2 голосов
/ 16 марта 2010

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

/// <summary>
/// The method to pass an integer to is <see cref="DoSomething">
/// </summary>

void DoSomething() {
}
void DoSomething(int n)  {
}
void DoSomething(string str) { 
}

Но как?

Ответы [ 2 ]

2 голосов
/ 16 марта 2010

Когда Visual Studio создает файл документации XML, содержащий комментарии для связанной сборки, каждый задокументированный элемент будет идентифицирован уникальным именем. Вы можете проверить правила для этой генерации идентификатора на:

Обработка файла XML (Руководство по программированию в C #)

Особый интерес представляет правило для методов с аргументами базового типа, которое гласит:

Для свойств и методов, если есть аргументы метода, список аргументов в скобках следующим образом. Если нет аргументов, нет круглые скобки присутствуют. Аргументы разделяются запятыми. Кодировка каждого аргумента следует непосредственно как он закодирован в .NET Framework подпись:

  • Базовые типы. Обычные типы (ELEMENT_TYPE_CLASS или ELEMENT_TYPE_VALUETYPE) представлен как полностью квалифицированный название типа.
  • ...

В вашем случае будет получен идентификатор (M:YourNamespace.YourType.DoSomething(System.Int32)), который затем можно будет использовать в атрибутах cref.

2 голосов
/ 16 марта 2010

Когда ReSharper помогает мне заполнить атрибуты cref, он включает типы аргументов при перегрузках (т.е. DoSomething(int)). Я предполагаю, что это правильный способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...