gpt4 book ai didi

WCF 枚举问题 : cannot "or" the enum values

转载 作者:行者123 更新时间:2023-12-05 01:11:41 25 4
gpt4 key购买 nike

我使用 enum 作为标志并想“或”它,但总是遇到错误:

枚举值“3”对于“Common.EventType”类型无效,无法序列化。如果类型具有 DataContractAttribute 属性,请确保存在必要的枚举值并使用 EnumMemberAttribute 属性进行标记

代码:

[DataContract]
public enum EventType
{
[EnumMember]
Event1 = 1,
[EnumMember]
Event2 = 2,
[EnumMember]
Event3 = 4,
[EnumMember]
AllEvents = Event1 | Event2 | Event3
}

MyContractClient 代理 = new MyContractClient(context);

proxy.Subscribe( EventType.Event1 | EventType.Event2 );

先感谢您

最佳答案

您需要添加 [Flags] 属性以通过 WCF 发送标志。

Enumeration Types in Data Contracts

[DataContract][Flags]
public enum EventType
{
[EnumMember]
Event1 = 1,
[EnumMember]
Event2 = 2,
[EnumMember]
Event3 = 4,
[EnumMember]
AllEvents = Event1 | Event2 | Event3
}

关于WCF 枚举问题 : cannot "or" the enum values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com