簡體   English   中英

為什么我從C#到VB的轉換不起作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM