我用枚举作为标志,并希望“或”它,但总是遇到错误:WCF枚举问题:不能“或”枚举值
枚举值“3”是类型“无效Common.EventType '并且不能被序列化。确保必要的枚举值都存在并且都标有EnumMemberAttribute属性,如果该类型具有DataContractAttribute属性
代码:
[DataContract]
public enum EventType
{
[EnumMember]
Event1 = 1,
[EnumMember]
Event2 = 2,
[EnumMember]
Event3 = 4,
[EnumMember]
AllEvents = Event1 | Event2 | Event3
}
MyContractClient代理=新MyContractClient(上下文);
proxy.Subscribe(EventType.Event1 | EventType.Event2);
预先感谢您
添加['FlagsAttribute'(http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx)使用位运算('& '和'|')枚举类型。虽然,我不确定这是否会纠正给定的错误.. – 2013-01-23 07:51:15