我开始尝试使用扩展方法,并遇到了这个问题:
在下面的场景中,我会得到一个:
"扩展方法具有永远无法满足的类型约束"
我有点不明白,有没有办法在这里做我想做的事情?谢谢。
"扩展方法具有永远无法满足的类型约束"
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
我有点不明白,有没有办法在这里做我想做的事情?谢谢。