Silverlight и ArrayList - PullRequest
       24

Silverlight и ArrayList

7 голосов
/ 15 ноября 2010

Поддерживает ли Visual Studio 2010 Silverlight ArrayList?Если да, то как его использовать, если нет, то почему?

Как использовать ArrayList в Silverlight?

Ответы [ 2 ]

13 голосов
/ 15 ноября 2010

Silverlight не поддерживает ArrayList сейчас, смотрите http://www.infoq.com/news/2007/07/ArrayList-Gone.

EDIT: Вот содержание по этой ссылке,

В целях уменьшения размера среды выполнения Silverlight большинство неуниверсальных типов коллекций будут удалены. К ним относятся типы, когда-то считавшиеся необходимыми для программирования на .NET, включая ArrayList, Hashtable и Comparer.

По словам Инбара Газита из команды библиотеки базовых классов Microsoft , неуниверсальные коллекции не будут поставляться с Silverlight 1.1. Это означает, что хотя вы можете продолжать использовать их с основным дистрибутивом .NET, их нельзя использовать ни в одной сборке, ориентированной на Silverlight. Затронутые классы:

* ArrayList
* BitArray
* CaseInsensitiveComparer
* CaseInsensitiveHashCodeProvider
* CollectionBase
* Comparer
* CompatibleComparer
* DictionaryBase
* EmptyReadOnlyDictionaryInternal
* Hashtable
* IHashCodeProvider
* KeyValuePairs
* ListDictionaryInternal
* Queue
* ReadOnlyCollectionBase
* SortedList
* Stack

Просто чтобы прояснить, Microsoft не планирует удалять эти классы или помечать их как устаревшие в основном дистрибутиве .NET.

Для поддержки таких сценариев, как привязка данных, когда тип не обязательно известен, в Silverlight будут сохранены следующие неуниверсальные интерфейсы.

* IEnumerator
* IEnumerable
* ICollection
* IComparer
* IDictionary
* IDictionaryEnumerator
* DictionaryEntry
* IEqualityComparer
* IList

Некоторые родовые коллекции также были удалены из Silverlight. Инбар объясняет,

Три других универсальных типа также были удалены. Очередь, стек и LinkedList были удалены из Silverlight. В данном случае это было не потому, что они не были универсальными, а потому, что они не считаются частью основного набора типов, которые мы считаем необходимыми для предоставления Silverlight. Помните, что Silverlight загружается очень мало и должен включать только наименьший набор API-интерфейсов, которые позволят провести полезную разработку. Реализовать Queue и Stack с помощью List и LinkedList очень просто. Это просто другая реализация List с разными характеристиками производительности, поэтому она не является неотъемлемой частью нашей основной группы коллекций.

Также проверьте C # - Замена .NET ArrayList.ToArray (Type) в Silverlight .

5 голосов
/ 11 апреля 2011

Альтернатива использует:

IList <object> list = new List <object>();
...