XSD2Code,是否可以序列化父抽象类的继承属性



我有一个XSD2Code生成的类,一切都在工作。但是,我想在所有复杂类类型(即订单、订单项等)上生成 ID 并将其存储为 GUID,以促进对象层次结构中的 CRUD。因此,我没有向 XML 架构中的每个"记录"样式数据集添加一个 ID 元素,而是创建了一个父抽象类,我的 XSD2Code 类从该类继承自该类。我的代码可以看到 ID,它会生成 ID,但是似乎 XSD2Code 看不到 ID,因此 ID 不会被序列化。

我的父类代码:

namespace OrderSystem
{
public abstract class Master
{
    private string IdField;
    [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 999)]
    public String ID
    {
        get 
        { 
            if (IdField == null)
            {
                IdField = Guid.NewGuid().ToString();
            }
            return IdField;
        } 
    }
  }
}

我的 XSD 生成的代码使用它:

public partial class Product : Master
{

我的直觉是 ID 没有被序列化,因为它不在生成的类中,即"产品",这有点奇怪,因为代码的其余部分可以看到它,因为它是继承的。

有什么想法吗?

编辑:

public class Master
{
    private string IdField;
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public String ID
    {
        get 
        { 
            //if (IdField == null)
            //{
            //    IdField = Guid.NewGuid().ToString();
            //}
            return IdField;
        }
        set
        {
            if (value == null)
            {
                IdField = Guid.NewGuid().ToString();
            }
            else
            {
                IdField = value;
            }
        }
    }
}

我自己对此进行了排序。被证明是代码中的错误。我也删除了"摘要",不确定这是否必要。请参阅上面的编辑。

最新更新