silverlight 4中的可序列化属性

silverlight 4中的可序列化属性,silverlight,attributes,serializable,Silverlight,Attributes,Serializable,那么在silverlight 4中是否有可序列化属性?我在网上有一些令人困惑的回答。当我试图在代码中使用它时,我得到了一个名称空间错误。这些是我的包裹 using System; using System.ComponentModel; using System.Collections.Generic; using System.Runtime.Serialization; 我已将程序集系统System.Runtime.Serialization添加到我的项目中 接下来的一个问题是,如果Sil

那么在silverlight 4中是否有可序列化属性?我在网上有一些令人困惑的回答。当我试图在代码中使用它时,我得到了一个名称空间错误。这些是我的包裹

using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Runtime.Serialization;
我已将程序集系统System.Runtime.Serialization添加到我的项目中

接下来的一个问题是,如果Silverlight中没有,我如何正确序列化一个单例?因为我计划使用这里给出的例子


谢谢

这是一个在Silverlight中不能使用的.NET属性,但可以使用DataContract进行序列化

对于独立(非WCF)序列化/反序列化,可以使用三个组件:

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

使用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);
}

此线程中的示例:

我确实使用了DataContract来序列化,但这意味着我可以得到一个singleton类的多个实例。@user642770有一个接口,顺便说一句;不确定它是否存在于SL中