在Dynamic Class上调用方法时出现C#异常

时间:2016-04-19 12:01:04

标签: c# list dynamic casting

从动态类中转换对象时,我收到以下错误:

[A]System.Collections.Generic.List`1[ParameterHelper] 
cannot be cast to [B]System.Collections.Generic.List`1[ParameterHelper]. 


Type A originates from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 
in the context 'LoadNeither' 
at location 'C:\\Windows\\Microsoft.Net\\assembly\\GAC_32\\mscorlib\\v4.0_4.0.0.0__b77a5c561934e089\\mscorlib.dll'. 

Type B originates from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 
in the context 'LoadNeither' 
at location 'C:\\Windows\\Microsoft.Net\\assembly\\GAC_32\\mscorlib\\v4.0_4.0.0.0__b77a5c561934e089\\mscorlib.dll'.

对象来自同一类型:

public class ParameterHelper
{  
    public string Name { get; set; }
    public string Description { get; set; }
    public Type type { get; set; }
}

我已将此类编译为.DLL并将其作为引用添加到已编译的类中,编译器不会给出任何错误。另一个调用,返回一个String确实有效。

对此有何想法?

2 个答案:

答案 0 :(得分:0)

你确定你没有尝试将List<dynamic>投射到List<ParameterHelper>吗?

如果您使用

之类的内容会发生什么
mylist.OfType<ParameterHelper>() 

答案 1 :(得分:0)

从项目中删除.cs文件以解决模糊错误。