2010-11-15 10 views

Respuesta

13

Silverlight no es compatible con ArrayList ahora, vea http://www.infoq.com/news/2007/07/ArrayList-Gone.

EDIT: Aquí es el contenido de este enlace,

un esfuerzo por reducir el tamaño del tiempo de ejecución de Silverlight, la mayoría de los tipos de colección no genéricas serán eliminados. Estos incluyen tipos que una vez se consideraron esenciales para la programación de .NET, incluidos ArrayList, Hashtable y Comparer.

Según el equipo Inbar Gazit de Microsoft Base Class Library, las colecciones no genéricas no se enviarán con Silverlight 1.1. Esto significa que, si bien puede continuar utilizándolos con la distribución .NET principal, no se pueden usar en ningún ensamblado dirigido a Silverlight. Las clases afectadas son:

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

Sólo para que quede claro, Microsoft no está planeando en la eliminación de estas clases o marcándolos como obsoleta en la distribución principal .NET en este momento.

Para apoyar escenarios tales como el enlace de datos en el que el tipo no es necesariamente conocida, las siguientes interfaces no genéricos se mantendrá en Silverlight.

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

Algunas colecciones genéricas también se han eliminado de Silverlight. Inbar explica,

También se eliminaron otros tres tipos genéricos. Queue, Stack y LinkedList se eliminaron de Silverlight. En este caso, no fue porque no fueran genéricos sino porque no se los considera parte del conjunto principal de tipos que consideramos esenciales para ser provistos con Silverlight. Recuerde que Silverlight es una descarga muy pequeña y solo debe incluir el conjunto más pequeño de API que permita un desarrollo útil. Es muy simple implementar Queue y Stack usando List y LinkedList es solo una implementación diferente de List con diferentes características de rendimiento, por lo que no es una parte esencial de nuestro grupo de colecciones principales.

También verifique C# - Replacement for.NET ArrayList.ToArray(Type) in Silverlight.

5

Una alternativa es usar:

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