我见过几个具有可序列化属性的示例,如下所示:
[Serializable()]
public class sampleClass
{
public int Property1{ get; set; }
public string Proerty2{ get; set; }
public sampleClass() { }
public sampleClass(int pr1, int pr2)
{
pr1 = pr1;
Name = pr2.ToString();
}
}
我从来没有很好地理解它是如何工作的,但是来自msdn:
序列化允许开发人员保存对象的状态并根据需要重新创建它,提供对象的存储以及数据交换。通过序列化,开发人员可以执行以下操作,例如通过 Web 服务将对象发送到远程应用程序、将对象从一个域传递到另一个域、将对象作为 XML 字符串通过防火墙传递,或者维护安全性或用户特定跨应用程序的信息。
但问题是,在我的代码示例中,我认为它没有用。只是一个用于从数据库中检索数据的对象,没什么特别的。关于何时使用和何时不使用序列化还有哪些其他用途。例如,我应该总是使用序列化,因为它更安全吗?这种方式会变慢吗?
更新:感谢所有好的答案