每个人:
我查看了一种避免某些使用类不支持可序列化的方法。但我不知道使用这种方法的原因。所以我在这里提出了这个问题。
所以前面的代码喜欢下面
[Serializable]
Class OutterClass
{
public UsingClass UsingClassMember
{
get;
set;
}
}
所以这里如果我想序列化OutterClass,会出现异常,因为UsingClass不支持序列化。显然,如果我想序列化 OutterClass,那么 OutterClass 中的所有成员都应该支持序列化。
但是,如果我将代码修改如下。序列化操作可以成功完成。
[Serializable]
Class OutterClass
{
[NonSerialized]
private UsingClass m_UsingClassMember;
public UsingClass UsingClassMember
{
get { return m_UsingClassMember; };
set { m_UsingClassMember = value };
}
}
我不知道这种修改的原因。似乎UsingClassMember属性的序列化不需要序列化类UsingClass本身。谁能给我一个解释?
谢谢!