2015-05-18 22 views
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) 
+0

在我看來像異常發生在代碼更深,然後你在這裏顯示,但你有沒有證實「新的XmlSerializer(typeof(InnerCharacter))」實際上是返回一個有效的值?或者「新的StreamWriter(@」Xml.xml「)」正在返回一個有效的值,或者該細節有一個有效的值? – Taegost

+0

從Object繼承的一些問題? http://forum.unity3d.com/threads/xml-serialization-error.166061/ – dbc

+0

@dbc你能否創建一個答案?這有助於 – Dvole

回答