读书人

要序列化的一个类里有成员对象是用接口

发布时间: 2013-01-28 11:49:56 作者: rapoo

要序列化的一个类里有成员对象是用接口声明的,无法序列化,怎么办,谢谢
本帖最后由 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必须实例化才可以

读书人网 >Web Service

热点推荐