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

时间:2012-12-05 17:55:52

标签: xsd2code

我有一个XSD2Code生成的类,一切正常。但是,我想在所有Complex类类型(即Order,OrderItem等)上生成和存储ID作为GUID,以便从对象层次结构中促进CRUD。因此,我没有为XML Schema中的每个“Record”样式数据集添加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没有被序列化,因为它不在生成的类中,即“Product”,这有点奇怪,因为其余的代码可以看到它,因为它是继承的。

有什么想法吗?

编辑:

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;
            }
        }
    }

}

1 个答案:

答案 0 :(得分:0)

我自己整理了这个。证明是代码中的错误。我也删除了“摘要”,不确定是否有必要。见上面的编辑。