在C#中将匿名类型转换为列表

时间:2018-02-01 10:28:41

标签: c# anonymous

我正在尝试将匿名类型转换为列表,但我收到如下调用错误。

  

未处理的类型异常   ' System.Reflection.TargetInvocationException'发生在mscorlib.dll

var path = 'c15.1-5.3.1-.1.1-.2.1'
var a = path.slice(1, path.length).split(/(?=[ -])/)

所以这里"所有"是匿名类型,castapprove是一个列表,muapprovelist是一个类,它们在同一个视图模型中声明。我做错了什么指针?

1 个答案:

答案 0 :(得分:2)

据推测,这是一些与动态编译某种视图和匿名类型(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();

或者:将此代码从视图区域移动到作为主预编译程序集一部分的代码中。