C#无法序列化Class <T>

时间:2019-06-27 15:08:01

标签: c# json unity3d

我无法序列化以下课程...

[Serializable]
public class ClassA <T>
{
    public T Name;
}

当我尝试序列化此类作为示例时...

[Serializable]
public class ClassB
{
    public int num;
    public ClassA<MyEnum> classA;
}

输出的json文件将包含带有ClassB变量的num,但不包括classA

是否可以序列化Class A <T>

请注意,我正在使用UnityEngine.JsonUtility

1 个答案:

答案 0 :(得分:2)

不,afaik您不能直接序列化泛型,而是必须从泛型类继承才能使其正常工作:

public class ClassA <T>
{
    public T Name;
}

[Serializable]
public class SerializeableClassA : ClassA<MyEnum> { }

[Serializable]
public class ClassB
{
    public int num;
    public SerializeableClassA classA;
}