0

我在 Unity 中使用 Javascript 将数据保存为 XML。我正在导入部分 .NET 库以提供 XML 序列化功能

我正在尝试使用我的静态Global类并将其转换为 XML。

我明白了

 InvalidOperationException: The type of the argument object 'System.MonoType' is not primitive.

当试图序列化这个

static class Global extends System.Object{ 
class buildingData{
    static var posX:int[]=new int[100];
    static var posY:int[]=new int[100];
    static var posZ:int[]=new int[100];
    static var name:String[]=new String[100];
    static var type:int[]=new int[100];
    static var id:int[]=new int[100];
}

class peopleData{
    ///etc.

通过这种方式:

var xs : XmlSerializer = new XmlSerializer(typeof(Global));
xs.Serialize(xmlTextWriter, Global);

我的 Global 类是静态的问题吗?

4

1 回答 1

0

MonoType是类型系统的子类,Type代表类型系统。IfGlobal是一种类型,我很惊讶xs.Serialize(xmlTextWriter, Global)甚至编译,正如XmlSerializer预期的那样object,并且Global那里(而不是typeof(Global))甚至不应该解决 AFAIK。

但是:确实,您不能使用对象序列化程序来序列化静态状态。但是当我阅读它时,Global甚至没有任何状态。基本上 - 给它一个实际的对象实例。

于 2013-04-12T07:17:44.673 回答