我正在尝试将匿名类型转换为列表,但遇到如下调用错误。
An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
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是一个类,它们在同一个 View 模型中声明。有什么地方我做错了吗?
最佳答案
据推测,这是与某种 View 和匿名类型(内部
)的动态编译相关的一些可访问性问题。也许一个务实的解决方案是在这种情况下不使用匿名类型:
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();
或者:将此代码从 View 区域移至作为主预编译程序集一部分的代码中。
关于c# - 在 C# 中将匿名类型转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48560517/