我有一个 XSD2Code 生成的类,一切正常。但是,我想在所有复杂类类型(即 Order、OrderItem 等)上生成 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;
}
}
}
}