为什么我从C#到VB的转换工作不成功?
问题描述:
原始代码:为什么我从C#到VB的转换工作不成功?
public List<Contact> GetContactListEntityCompiledLINQ()
{
if (entities == null) entities = new CompanyEntities();
ObjectQuery<Contact> contacts = compiledQuery.Invoke(entities);
if (NoTracking) contacts.MergeOption = MergeOption.NoTracking;
return contacts.ToList<Contact>();
}
我的转换代码:
Public Function GetContactListEntityCompiledLINQ() As List(Of Contact)
If entities Is Nothing Then entities = New CompanyEntities()
Dim contacts As ObjectQuery(Of Contact) = compiledQuery.Invoke(entities)
If NoTracking Then contacts.MergeOption = MergeOption.NoTracking
Return contacts.ToList(Of Contact)()
End Function
我获得Visual Studio中的VB版本的错误:
错误1个扩展方法“公共功能ToList()由于System.Linq.Enumerable中定义的System.Collections.Generic.List(Of TSource)不是泛型的(或者没有*类型参数),所以不能有类型参数。
错误出现在Return语句中,Contact以蓝色波浪标出。
任何想法?
答
它改成这样:
Public Function GetContactListEntityCompiledLINQ() As List(Of Contact)
If entities Is Nothing Then entities = New CompanyEntities()
Dim contacts As ObjectQuery(Of Contact) = compiledQuery.Invoke(entities)
If NoTracking Then contacts.MergeOption = MergeOption.NoTracking
Return contacts.ToList()
End Function
尝试杀死最后'()'回油管路? – 2014-11-19 21:08:26