IDE在以下代码中显示错误
<Extension()> _
Public Function FindByCode(Of TEntity)(ByRef vTEntities As EntitySet(Of TEntity), ByVal vCode As String) As TEntity
Return (From oTEntity In vTEntities _
Where oTEntity.Code.Value = vCode _
Select oTentity).FirstOrDefault()
End Function
错误是:
1.Type参数'TEntity'不满足类型参数'TEntity'的'Class'约束。
2.'Code'不是'TEntity'的成员。
请帮我解决这个问题。
答案 0 :(得分:1)
我怀疑一个问题是参数声明的ByRef
部分 - 扩展方法要求第一个参数是ByVal
。你不是使用这个事实ByRef
无论如何......
另一个问题是这是通用的 - 但你假设有一个名为Code
的属性,而这个属性又有一个名为Value
的属性 - 那些假设即将到来从?您可能希望约束TEntity
类型参数,或者可能首先禁止它是通用的。
编辑:您还需要向TEntity
添加约束以强制它成为引用类型:
FindByCode(TEntity As Class)
...但这不会有助于它不知道Code
属性是什么。