IntelliSense有时会错过某些Framework类属性或方法吗?

时间:2010-11-11 18:49:53

标签: c# .net vb.net visual-studio

我遇到了一个DbParameterCollection对象,该对象应该具有从IList继承的“Item”属性,但IntelliSense不会显示此对象具有Item属性。这有什么不对?

2 个答案:

答案 0 :(得分:5)

来自MSDN

  

C#语言使用this关键字   定义索引器而不是   实现Item属性。视觉   Basic实现Item作为默认值   财产,提供相同的   索引功能。

换句话说,它是一个C#语法的东西。只需使用list[index]代替list.Item(index)即可设置。

答案 1 :(得分:2)

可能是因为使用“Item”属性(VB)或索引器(C#)的语法与“普通”属性的语法略有不同。

在VB.NET中,您将访问IList中的项目,如下所示:

myCollection(index) = someValue

在C#中它看起来像这样:

myCollection[index] = someValue;