c# - 在类级别声明 [XmlElement(IsNullable = true)]

标签 c# attributes properties xml-serialization

有没有办法在类级别声明 [XmlElement(IsNullable = true)],以便类中的所有属性都将被 XML 序列化,即使它们为空?

例如

public BankAccount BankAccount { get; set; }

结果应为 <BankAccount xsi:nil="true" /> ,而不是默认的缺失元素。

我试过了,但编译器(正确地)指出该属性对类声明无效。

这样做的原因是我不想为所有属性指定它。


编辑:这是我使用的序列化方法:

        var serializer = new XmlSerializer(FormType);
        var stream = new MemoryStream();

        serializer.Serialize(stream, form);

最佳答案

不幸的是,在为 XML 序列化注释类时必须明确。 除非您想要默认行为,否则每个属性都必须使用其自己的 XmlElement 属性进行注释。

关于c# - 在类级别声明 [XmlElement(IsNullable = true)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9187047/

相关文章:

c# protect a database connection string in Settings 防止反编译?

python - 在python中按属性删除对象列表中的重复项

c# - 投影到复杂类型时无效的初始值设定项成员声明符

c# - 如何根据作为 varchar 传递的 ids 列表获得结果?

c# - 如何在 ASP.NET Core 中结合 FromBody 和 FromForm BindingSource?

c# - 在 .net 中删除继承的属性

c# - 自定义属性 - 获取底层枚举的值

python - Python 中的 "Private"属性属性

objective-c - 为什么这是物体的潜在泄漏?

c# - 没有类型的 IEnumerable 属性