C# 在C中将匿名类型转换为列表#
我正在尝试将匿名类型转换为列表,但遇到如下调用错误 类型的未处理异常 mscorlib.dll中出现“System.Reflection.TargetInvocationException”C# 在C中将匿名类型转换为列表#,c#,anonymous,C#,Anonymous,我正在尝试将匿名类型转换为列表,但遇到如下调用错误 类型的未处理异常 mscorlib.dll中出现“System.Reflection.TargetInvocationException” 这里“all”是匿名类型,castprove是列表,muapprovelist是类,它们在同一个视图模型中声明。有没有我做错的指针?这大概是与某种类型的视图和匿名类型(即内部)的动态编译相关的可访问性问题。也许一个实用的解决方案是在这种情况下不使用匿名类型: var all = from a in Fcti
这里“all”是匿名类型,castprove是列表,muapprovelist是类,它们在同一个视图模型中声明。有没有我做错的指针?这大概是与某种类型的视图和匿名类型(即
内部
)的动态编译相关的可访问性问题。也许一个实用的解决方案是在这种情况下不使用匿名类型:
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();
或者:将此代码从视图区域移到作为主预编译程序集一部分的代码中。如何声明
castprove
?这是什么样的名单?您是否正在使用动态?我猜这里有dynamic castprove=…
,在这种情况下。。。是的,我不认为它会起作用。targetingException
通常有一个InnerException
,它可以解释到底出了什么问题(以及哪里出了问题)。请把这些信息也发出去。muapprovelist
是该列表中元素的正确类型吗(因为它听起来像列表本身)?不应该new{b.MU_Identifier,a.Status,a.ID}
benew{MU_Identifier=b.MU_Identifier,Status=aStatus,a.ID}
,编译器采用您提供的属性名称(MU_Identifier
,Status
和ID
)@RenéVogt谢谢,我不确定。我尝试了第二种解决方案,效果很好,非常感谢。这对我来说是一次很好的学习。
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();