VB.NET: как ссылаться на универсальные классы и методы в xml-документации

Примечание. Это копия этот вопрос, но для Visual Basic вместо C #.

При написании XML-документации вы можете использовать <see cref="something">something</see>, что, конечно же, работает. Но как ссылаться на класс или метод с универсальными типами?

Public Class FancyClass(Of T)

  Public Function  FancyMethod(value As T) As String
    Return "something fancy"
  End Function

End Class

Если бы я собирался писать где-нибудь xml-документацию, как бы мне сослаться на этот модный класс? как я могу сослаться на FancyClass(Of String)? А как насчет метода?

Например, в другом классе я хотел сообщить пользователю, что верну экземпляр FancyClass(Of Integer). Как я мог сделать see cref вещь для этого?


person Ignacio Calvo    schedule 08.08.2012    source источник


Ответы (2)


Похоже, что в VS2012 этого сделать нельзя, но в VS2013 это исправлено; вы можете просто написать <see cref="FancyClass(Of T)" />.

person Ignacio Calvo    schedule 23.01.2014
comment
Определите 'fixed' ... кажется, что VS вылетает каждый второй / третий раз, когда я пишу 'cref =' !! - person Grim; 27.10.2014

Я привык писать что-то подобное:

''' <summary>
''' A great fancy class.
''' </summary>
''' <typeparam name="T">Generic stuff ....</typeparam>
Public Class FancyClass(Of T)

    ''' <summary>
    ''' A fancy method that do fancy operation.
    ''' </summary>
    ''' <param name="value">The value.</param>
    ''' <returns></returns>
    Public Function FancyMethod(value As T) As String
        Return "something fancy"
    End Function

End Class

Документация xml должна говорить о вашем универсальном классе. Вы никогда не будете ссылаться на FancyClass(Of String): это не класс.

person Frédéric THEVENON    schedule 15.01.2014
comment
Я хотел написать что-то вроде <see cref="FancyClass{T}" /> (это способ C #) в комментарии xml-doc. Кажется, что эта проблема была исправлена ​​в VS2013. - person Ignacio Calvo; 23.01.2014
comment
И, кстати, FancyClass(Of String, безусловно, является классом (вы можете создавать экземпляры этого класса); FancyClass(Of T) - это просто шаблон класса; вы не можете создавать экземпляры объектов для этой вещи. - person Ignacio Calvo; 23.01.2014
comment
Ага, когда я сказал, что это не класс, я подумал в стиле xml-doc: вы не можете писать <see cref="FancyClass(Of String)" /> - person Frédéric THEVENON; 24.01.2014