簡體   English   中英

將匿名類型轉換為C#中的列表

[英]converting anonymous types to list in C#

我正在嘗試將匿名類型轉換為列表,但出現如下錯誤。

mscorlib.dll中發生了類型為'System.Reflection.TargetInvocationException'的未處理異常

var all = from a in Fcticuclist
          join b in crlist on a.Ref_CID equals b.C_ID
          select new { b.MU_Identifier, a.Status,a.ID };

foreach (var item in all)
{
    castapprove.Add(new muapprovelist { Id = item.ID, MU_Identifier = item.MU_Identifier, Status = item.Status });
}

所以這里的“ all”是匿名類型,castapprove是一個列表,muapprovelist是一個類,它們在同一視圖模型中聲明。 任何指針我做錯了什么?

大概這是與某種類型的視圖和匿名類型( internal )的動態編譯有關的一些可訪問性問題。 也許一個務實的解決方案是在這種情況下不使用匿名類型:

var all = from a in Fcticuclist
      join b in crlist on a.Ref_CID equals b.C_ID
      select new muapprovelist {
          Id = a.ID, MU_Identifier = b.MU_Identifier,
          Status = a.Status };

foreach (var item in all)
{
    castapprove.Add(item);
}

甚至:

var castapprove = (from a in Fcticuclist
      join b in crlist on a.Ref_CID equals b.C_ID
      select new muapprovelist {
          Id = a.ID, MU_Identifier = b.MU_Identifier,
          Status = a.Status }).ToList();

或者,將代碼從視圖區域移開,成為主預編譯程序集的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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