我有这个 :

    [Flags]
    public enum InfoAbonne{civilite,name,firstname,email,adress,country }

    public class Formulaire
    {
      private InfoAbonne _infoAbonne{ get; set;}
      public Formulaire()
      {}
    }

我想Xml序列化Formulaire

如果我初始化:_infoAbonne = InfoAbonne.name | InfoAbonne.email;
在我的Xml结果中,我只会得到:
<InfoAbonne>email</InfoAbonne>

最佳答案

即使您将Flags属性添加到枚举,您仍然需要确保该值是2的幂:

[Flags]
public enum InfoAbonne
{
    civilite = 1,
    name = 2,
    firstname = 4,
    email = 8,
    adress = 16,
    country = 32
}

请参阅documentation备注部分中列出的准则。

关于c# - XmlSerialize枚举标志字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8970901/

10-10 16:42