我有一个int
使用位掩码的典型模式的 C++ 程序。该位掩码在这样的枚举中定义:
enum EModeEntryPoint
{
// Mode
entryPointNone =0x00,
entryPointNormal =0x01,
entryPointExistingAddress =0x02,
entryPointNewAddress =0x04,
entryPointNewAndExisting =0x06,
entryPointOnlyNewTickets =0x08,
};
当我在这样的 C# WCF 服务中使用枚举时
[DataContractAttribute]
public enum ModeEntryPoint
{
// Mode
[EnumMember] None =0x00,
[EnumMember] Normal =0x01,
[EnumMember] ExistingAddress =0x02,
[EnumMember] NewAddress =0x04,
[EnumMember] NewAndExisting =0x06,
[EnumMember] OnlyNewTickets =0x08,
};
我可以看到我在这里定义的值没有被使用。我可以看到这样的枚举总是被“重新编号”。
是否可以在任何地方的合同中定义这种位使用?
为每个位创建一个布尔字段不是我喜欢的。它还会使数据块膨胀。