Мне нужна перегрузка параметра типа как таковая:
Public Class Map(Of TKey, TValue)
Public Class Map(Of TKey As IEquatable(Of TKey), TValue)
так что я могу New Map(Of Human)
, и компилятор автоматически сопоставит его с Public Class Map(Of TKey, TValue)
, а если i new Map(Of String)
, компилятор автоматически сопоставит его с Public Class Map(Of TKey As IEquatable(Of TKey), TValue)
(поскольку String является IEquatable (Of String))
Сейчас мое решение состоит в том, чтобы дать классу разные имена как таковые:
Public Class Map(Of TKey, TValue)
Public Class EqMap(Of TKey As IEquatable(Of TKey), TValue)
Но я ищу лучшее решение