1
我已經得到了簡單的類我想序列:Xml序列化失敗,簡單的類的NullReferenceException
public class InnerCharacter : Object {
public double xp;
public double hp;
}
我累差接近,例如:
public static void TestSerialize()
{
InnerCharacter c = new InnerCharacter();
Serialize(c);
}
static public void Serialize(InnerCharacter details)
{
XmlSerializer serializer = new XmlSerializer(typeof(InnerCharacter));
using (TextWriter writer = new StreamWriter(@"Xml.xml")) {
serializer.Serialize(writer, details);
}
}
我也試過文件流和其他方法,但它們都導致相同的例外。這裏是我嘗試加載在統一的代碼,我GameObjects之一:
public void Start()
{
TestSerialize();
}
他們都失敗,同樣的NullReferenceException:
NullReferenceException
System.Reflection.MonoProperty.GetterAdapterFrame[Object,String] (System.Reflection.Getter`2 getter, System.Object obj) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoProperty.cs:234)
System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoProperty.cs:292)
System.Xml.Serialization.XmlTypeMapMember.GetValue (System.Object ob)
System.Xml.Serialization.XmlSerializationWriterInterpreter.GetMemberValue (System.Xml.Serialization.XmlTypeMapMember member, System.Object ob, Boolean isValueList)
System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteElementMembers (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean isValueList)
System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElementElements (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob)
System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElement (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, System.String element, System.String namesp)
System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObject (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, System.String element, System.String namesp, Boolean isNullable, Boolean needType, Boolean writeWrappingElem)
System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteRoot (System.Object ob)
System.Xml.Serialization.XmlSerializer.Serialize (System.Object o, System.Xml.Serialization.XmlSerializationWriter writer)
System.Xml.Serialization.XmlSerializer.Serialize (System.Xml.XmlWriter writer, System.Object o, System.Xml.Serialization.XmlSerializerNamespaces namespaces)
在我看來像異常發生在代碼更深,然後你在這裏顯示,但你有沒有證實「新的XmlSerializer(typeof(InnerCharacter))」實際上是返回一個有效的值?或者「新的StreamWriter(@」Xml.xml「)」正在返回一個有效的值,或者該細節有一個有效的值? – Taegost
從Object繼承的一些問題? http://forum.unity3d.com/threads/xml-serialization-error.166061/ – dbc
@dbc你能否創建一個答案?這有助於 – Dvole