Передайте ArrayList в веб-сервис в C # - PullRequest
0 голосов
/ 13 ноября 2011

У меня есть веб-сервис, который должен получить параметр ArrayList

[WebMethod] 
public void SelectPatches(ArrayList selectedPatches){}

Но когда я вызываю этот метод из клиента Visual Studio, возвращается ошибка:

Невозможно преобразовать из 'System.Collections.ArrayList' в 'object []'

Можно ли передать параметр с типом ArrayList в веб-службу?

Ответы [ 2 ]

3 голосов
/ 13 ноября 2011

Не используйте неуниверсальные коллекции. Используйте общий, по крайней мере List<object>.

Веб-метод должен принимать массив любого типа, поэтому используйте ToArray() метод расширения.

1 голос
/ 13 ноября 2011

Вы можете использовать arrayList.ToArray() ( MSDN ) для преобразования ArrayList в object[].

Вы также можете использовать arrayList.ToArray(Type) ( MSDN ) для преобразования ArrayList в массив указанного типа вместо того, чтобы приводить каждый элемент по отдельности.

...