我必须开发一个 WCF 服务,它应该接收一些预定义的字段和一些未知的字段。我想要一个Dictionary[string, object] DataMember 来接收这个未知字段,但任何可行的解决方案都会让我高兴。
我玩过 IExtensibleDataObject,甚至设法在其中获取未知字段,但我无法从中访问数据,只能使用调试器查看它们。如果有人知道我如何访问这些数据,请告诉我。
非常感谢!
为什么不直接创建一个类型属性Dictionary
并将其包含在您的数据合同中呢?
[DataMember]
public Dictionary<string,object> ExtraFields { get; set; }
编辑: ExtensibleDataObject
用于往返场景,因此成员对服务不可见。有一些workarrounds,但我认为最好在另一个属性中明确地做到这一点。