我想打电话给IEnumerable.Contains()
与dynamic
的说法,但我得到的错误为什么在调用IEnumerable.Contains()时需要投射动态对象?
“的IEnumerable”不包含“包含”的定义和最佳推广方法重载“Queryable.Contains(IQueryable的, TSource)'有一些无效参数
我注意到我可以将参数转换为正确的类型,或者使用基础集合类型来解决问题。但我不确定为什么我不能直接传递参数。
dynamic d = "test";
var s = new HashSet<string>();
IEnumerable<string> ie = s;
s.Contains(d); // Works
ie.Contains(d); // Does not work
ie.Contains((string)d); // Works
@JonSkeet如果我删除它,它会抛出错误在我的vs2012根本不算什么 – MethodMan
我可能有一个错字@JonSkeet我会删除评论,以消除任何混乱 – MethodMan
@JonSkeet我删除了..再次感谢。 – MethodMan