'X',这里是实现ICollection的第三方组件,'Y'是Count。它编译,暂时删除波浪线,并在不久之后(1-2秒),或在文本编辑器中进行任何编辑后,在Count下显示红色波浪形。 ?!任何帮助都会非常感激,谢谢。
编辑: 例如,
ThirdPartyComponent instanceOfComponent = new instanceOfComponent();
instanceOfComponent.GetResults();
for(int i = 0; i < instanceOfComponent.Results.Count; ++i) {
// Some stuff happens
}
这里'伯爵'被歪曲,即使它编译得很好 - 甚至出现在智能感知中。
答案 0 :(得分:2)
从上面的评论来看,VS似乎在抱怨Results.Count
和Results.Count()
之间存在歧义。它编译正常,但它警告你这个可能的错误。对ICollection
的强制转换将明确告诉编译器使用哪一个:
for(int i = 0; i < ((ICollection)instanceOfComponent.Results).Count; ++i)
答案 1 :(得分:0)
我不确定您使用的语言是什么,但这里有两个可能的问题:
Count可以是函数而不是属性。
更有可能结果实际上是返回List&lt;&gt;的属性基于类,因此您调用此Results对象的Count属性而不是instanceOfComponent。一个简单的演员应该解决它。
答案 2 :(得分:-1)
您需要添加:
using system.linq;