silverlight attributes serializable

Atributo serializable en Silverlight 4



attributes (1)

Es un atributo .NET que no puedes usar en Silverlight, pero puedes usar DataContract para serializar.

Para la serialización / deserialización autónoma (no WCF), hay tres componentes que se pueden usar:

System.Runtime.Serialization.DataContractSerializer (de System.Runtime.Serialization.dll) System.Runtime.Serialization.Json.DataContractJsonSerializer (de System.ServiceModel.Web.dll) System.Xml.Serialization.XmlSerializer (de System.Xml.Serialization .dll)

Un ejemplo simple usando el DataContractSerializer:

string SerializeWithDCS(object obj) { if (obj == null) throw new ArgumentNullException("obj"); DataContractSerializer dcs = new DataContractSerializer(obj.GetType()); MemoryStream ms = new MemoryStream(); dcs.WriteObject(ms, obj); return Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Position); }

Ejemplo de este hilo: http://forums.silverlight.net/forums/p/23161/82135.aspx

Entonces, ¿tenemos o no tenemos un atributo Serializable en Silverlight 4? Tengo algunas respuestas confusas en internet. Cuando trato de usarlo en mi código, aparece un error de espacio de nombres. Estos son mis incluye

using System; using System.ComponentModel; using System.Collections.Generic; using System.Runtime.Serialization;

Tengo el ensamblaje System, System.Runtime.Serialization agregado a mi proyecto.

Una pregunta de seguimiento es, si no está disponible en Silverlight, ¿cómo puedo serializar correctamente un singleton? Ya que estaba planeando usar el ejemplo dado aquí http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx

Gracias