Если Intellisense Visual Studio не предлагает вариант - значит ли это, что он не всегда поддерживается? - PullRequest
2 голосов
/ 30 октября 2011

У меня есть ObservableCollection, который я заменяю на массив с помощью string[] s = myObservableCollection.ToArray(); Это прекрасно работает. Я заметил, однако, что VS не предлагает это в своем автозаполнении. Он предлагает только ToArray<>. Интересно - значит ли это, что он поддерживается не во всех случаях и на платформах и т. Д.?

Ответы [ 2 ]

7 голосов
/ 31 октября 2011

Если он компилируется, он поддерживается.

Intellisense не совершенен, и слишком частое его использование является ошибкой.Как вы уже видели, совершенно правильная опция не появилась.

В этом случае, вероятно, это метод расширения IEnumerable<T>.ToArray(), предоставляемый LINQ.

1 голос
/ 31 октября 2011

Правильно, ObservableCollection <> не имеет метода ToArray (). Вы получаете метод расширения Linq, предлагаемый IntelliSense, у вас, без сомнения, есть директива с использованием System.Linq в верхней части файла исходного кода. Для чего требуется, чтобы машина, на которой вы устанавливаете это, имела как минимум .NET версию 3.5. Это не трудно найти.

...