【发布时间】:2019-06-12 13:11:55
【问题描述】:
我有以下枚举:
[Flags]
public enum ElementsTag
{
None,
Surname,
SecondSurname,
Forenames,
PersonalNumber,
Birthday,
Nationality,
DocumentExpirationDate,
DocumentNumber,
Sex,
CityOfBirth,
ProvinceOfBirth,
ParentsName,
PlaceOfResidence,
CityOfResidence,
ProvinceOfResidence
}
所以,当我尝试将枚举值作为参数传递给方法时,如下所示:
this.GetDataElementFromByteArray((byte[])aData, ElementsTag.ParentsName);
我可以在调试中看到 ElementsTag.ParentsName 包含值:
PersonalNumber | DocumentNumber
而不是只包含父母姓名。枚举的其他成员也会发生这种情况,例如,传递给方法 ElementsTag.Nationality 包含:
Nationality = SecondSurname | PersonalNumber
为什么?
我希望每个枚举成员只包含自己的值而不包含其他值,例如:
ElementsTag.ParentsName = ParentsName
ElementsTag.Nationality = Nationality
如何做到这一点?
【问题讨论】:
标签: c# enums visual-studio-2008 .net-3.5 enumeration