Csharp/C#教程:如何在c#中使用XMLSerialize for Enum类型的属性?分享


如何在c#中使用XMLSerialize for Enum类型的属性?

我有一个简单的枚举:

enum simple { one, two, three }; 

我也有一个类型simple的类。 我尝试使用以下属性进行装饰: [XmlAttribute(DataType = "int")] 。 但是,当我尝试使用XmlWriter序列化它时它失败了。

这样做的正确方法是什么? 我是否必须标记枚举本身以及属性,如果是,请使用哪种数据类型?

根据Darin Dimitrov的回答 – 我要指出的另一件事是,如果你想控制枚举字段的序列化方式,那么你可以使用XmlEnum属性来装饰每个字段。

 public enum Simple { [XmlEnum(Name="First")] one, [XmlEnum(Name="Second")] two, [XmlEnum(Name="Third")] three, } 

序列化枚举属性应该没有任何问题:

 public enum Simple { one, two, three } public class Foo { public Simple Simple { get; set; } } class Program { static void Main(string[] args) { using (var writer = XmlWriter.Create(Console.OpenStandardOutput())) { var foo = new Foo { Simple = Simple.three }; var serializer = new XmlSerializer(foo.GetType()); serializer.Serialize(writer, foo); } } } 

生产:

上述就是C#学习教程:如何在c#中使用XMLSerialize for Enum类型的属性?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

   three  

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957001.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐