2009-05-06 5 views
0

«X», здесь, является сторонним компонентом, реализующим ICollection, а «Y» - Count. Он компилирует, временно удаляя squigglies, и либо вскоре после (1-2 секунды), либо после внесения каких-либо изменений в текстовый редактор показывает красные squigglies под Count. ?! Любая помощь была бы оценена по достоинству, thx.Visual Studio 2008 SP1:

редактировать: , например,

ThirdPartyComponent instanceOfComponent = new instanceOfComponent(); 
instanceOfComponent.GetResults(); 

for(int i = 0; i < instanceOfComponent.Results.Count; ++i) { 
    // Some stuff happens 
} 

Вот граф "является squigglied, даже если он компилируется нормально - и даже показывает в Intellisense.

+0

Пропущенный образец кода, возможно? – florin

+0

Какой тип "instanceOfComponent.Results"? –

+1

Кроме того, что такое текст всплывающей подсказки при наведении курсора на красные squigglies? Обычно VS расскажет вам, почему он жалуется. –

ответ

2

Ваш комментарий выше, это выглядит как VS жалуется неоднозначности между Results.Count и Results.Count(). Он будет компилироваться отлично, но он предупреждает вас об этой возможной ошибке. Литой до ICollection будет прямо указывать компилятору, какой из них использовать:

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

Нет никакой двусмысленности между свойством Count и методом Count() - другой синтаксис означает, что всегда ясно, что требуется. Кроме того, методы расширения [такие как Count()] всегда имеют последнее преимущество. – Bevan

+0

Я не мог найти правильное слово, но я имел в виду двусмысленность в том смысле, что «возможно, вы хотели вызвать метод, но не сделали» –

+0

Спасибо lc, исправляя его. –

-1

Вам нужно добавить:

using system.linq; 
+0

Отрицательный; когда я добавил его, весь итератор условный (i

0

я не уверен, что язык вы используете, но два возможных проблем здесь:

  1. граф может быть функцией, а не свойство ,

  2. Скорее всего, результаты на самом деле являются свойствами, возвращающими класс класса <> и поэтому вы вызываете свойство Count этого объекта Results, а не instanceOfComponent. Простой бросок должен решить его.

+0

Да, я думаю, что это должен быть граф(), а не только граф сам по себе. –

+0

@Nicholas - Count является действительным только для чтения на ICollection и IList ; Count() - метод расширения в IEnumerable ; поэтому оба действительны, хотя свойство Count предпочтительнее. – Bevan

Смежные вопросы