我有一个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;
}
}
}
}
我自己对此进行了排序。被证明是代码中的错误。我也删除了"摘要",不确定这是否必要。请参阅上面的编辑。