[英]Why doesn't my conversion from C# to VB work?
原始代碼:
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擴展方法'Public Function ToList()As 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.