Visual Studio 2008 SP1:

时间:2009-05-06 23:05:17

标签: visual-studio-2008

'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
}

这里'伯爵'被歪曲,即使它编译得很好 - 甚至出现在智能感知中。

3 个答案:

答案 0 :(得分:2)

从上面的评论来看,VS似乎在抱怨Results.CountResults.Count()之间存在歧义。它编译正常,但它警告你这个可能的错误。对ICollection的强制转换将明确告诉编译器使用哪一个:

for(int i = 0; i < ((ICollection)instanceOfComponent.Results).Count; ++i)

答案 1 :(得分:0)

我不确定您使用的语言是什么,但这里有两个可能的问题:

  1. Count可以是函数而不是属性。

  2. 更有可能结果实际上是返回List&lt;&gt;的属性基于类,因此您调用此Results对象的Count属性而不是instanceOfComponent。一个简单的演员应该解决它。

答案 2 :(得分:-1)

您需要添加:

using system.linq;