首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

要序列化的一个类里有成员对象是用接口声明的,无法序列化,怎么处理,多谢

2013-01-28 
要序列化的一个类里有成员对象是用接口声明的,无法序列化,怎么办,谢谢本帖最后由 rav009 于 2012-12-17 13

要序列化的一个类里有成员对象是用接口声明的,无法序列化,怎么办,谢谢
本帖最后由 rav009 于 2012-12-17 13:16:52 编辑 比如


public interface Itool
{
    void dosth();
}

public class Person
{
   public Itool tool
   {
       get;
       set;
   }

   public void work()
   {
       this.tool.dosth();
   }
}


这个Person类无法序列化,因为其中tool用的是接口来声明的
因为项目中用到的是spring.net,所以大量成员变量是用interface来声明的,通过依赖注入来赋值的,请问要把这样的一个类序列化,怎么做到,谢谢?


[解决办法]
接口是抽象的,是不能被实例化的,序列化的时候是必须有具体的实现才行。可以实现序列化的接口,自定义序列化方法。
[解决办法]
类需要标记可序列化
接口属性必须实例化
[解决办法]
  Person 标记 [Serializable], tool必须实例化才可以

热点排行