关于序列化的错误

Type 'ZAirCompany' in Assembly
   'Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
  is not marked as serializable.
  
   错误原因:
  这个输入参数声明为“ZAirCompany”类,它没有做序列化。
  [解决1]很简单。
  在“ZAirCompany”类前面加一行:
  [Serializable]
  [背景资料1]Piet Obermeyer的《.NET 中的对象序列化》讲解得非常详细:
   微软资料
  
   由正在进行序列化的对象所引用的所有对象都必须标记为 Serializable(请参阅基本序列化)。否则,当序列化程序试图序列化未标记的对象时将会出现异常。
  
  
   对象仅在创建对象的应用程序域中有效。除非对象是从 MarshalByRefObject 派生得到或标记为 Serializable,否则,任何将对象作为参数传递或将其作为结果返回的尝试都将失败。如果对象标记为 Serializable,则该对象将被自动序列化,并从一个应用程序域传输至另一个应用程序域,然后进行反序列化,从而在第二个应用程序域中产生出该对象的一个精确副本。此过程通常称为按值封送。

posted on 2007-10-19 10:05  LongSky  阅读(177)  评论(0编辑  收藏  举报

导航