Я начинаю играть с методами расширения, и я столкнулся с этой проблемой:
В следующем сценарии я получаю:
"метод расширения имеет ограничение типа, которое никогда не может быть выполнено"
Public Interface IKeyedObject(Of TKey As IEquatable(Of TKey))
ReadOnly Property InstanceKey() As TKey
End Interface
<Extension()> _
Public Function ToDictionary(Of TKey As IEquatable(Of TKey), tValue As IKeyedObject(Of TKey))(ByVal l As IEnumerable(Of tValue)) As IDictionary(Of TKey, tValue)
'code
End Function
Но это работает, если я заменю IKeyedObject (Of k) на IKeyedObject (Of Integer)
<Extension()> _
Public Function ToDictionary(Of TKey As IEquatable(Of TKey), tValue As IKeyedObject(Of TKey))(ByVal l As IEnumerable(Of tValue)) As IDictionary(Of TKey, tValue)
'code
End Function
Я что-то упустил? В любом случае я могу делать то, что я хочу здесь?
Заранее спасибо