83161


c#のXMLコメントの書き方で分からないことがあります。

例えば以下のようなジェネリック関数を記述したとします。

[code]

            /// <summary>
            /// do something
            /// </summary>
            /// <typeparam name="VALUE1_T">
            /// type of <paramref name="value1"/>. <typeparamref name="VALUE1_T"/> must implement <see cref="IComparable{VALUE2}"/>.
            /// </typeparam>
            /// <typeparam name="VALUE2_T">
            /// type of <paramref name="value2"/>.
            /// </typeparam>
            /// <param name="value1"></param>
            /// <param name="value2"></param>
            public void DoSomething<VALUE1_T, VALUE2_T>(VALUE1_T value1, VALUE2_T value2)
                where VALUE1_T : IComparable<VALUE2_T>
            {
                if (value1.CompareTo(value2) > 0)
                {
                    // task 1
                }
                else if (value1.CompareTo(value2) < 0)
                {
                    // Task 2
                }
                else
                {
                    // Task 2
                }
            }
    
[/code]

この関数では、`VALUE1_T`は`IComparable<VALUE2_T>`を実装している必要があります。  
そのことを型パラメタ`VALUE1_T`の説明に記述したくて、`<typeparam name="VALUE1_T">`タグに以下のように書きました。

`<typeparamref name="VALUE1_T"/> must implement <see
cref="IComparable{VALUE2_T}"/>.`

期待していたのは `VALUE1_T must implement IComparable<VALUE2_T>.` と表示されることなのですが、実際には
`VALUE1_T must implement IComparable<in T>.` と表示されてしまいます。

期待通りの表示をさせる方法は何かないでしょうか?

#### [補足]

Visual Studio で上記の関数のコードを表示して`VALUE1_T`のところにマウスを持っていくと`where VALUE1_T :
IComparable<VALUE2_T>`
という記述も表示されるのでそれで支障はないじゃないかといえば確かにそうなのですが、もっとわかりやすい形で表示できないかと試行錯誤している状況です。

最終的には`see`タグで書くのを諦めることも考えていますが...

#### [使用環境]

  * OS: Windows 10 64bit
  * IDE: Visual Studio 2019
  * .NET: .NET 5.0
  * c#: c# 9.0

試しに Visual Studio 2022 preview + .NET5.0 (or .NET6.0RC2)
の環境でも同じことをしてみたのですが、結果は同じでした。


CC BY-SA 4.0
2021-10-17T12:04:13.267
83145
2021-10-18T11:24:57.543
23553
question
c# visual-studio .net xml
c#のXMLコメントでジェネリック関数/インターフェースを記述する方法について


表示上の問題なので、`<see>`タグのテキストノードに希望するテキストを記載してはいかがでしょうか。

例:  
`<see cref="IComparable{VALUE2_T}" >IComparable&lt;VALUE2_T&gt;</see>`


CC BY-SA 4.0
2021-10-18T11:24:57.543
83161
2021-10-18T11:24:57.543
9113
83145
answer