Web服务返回的动态类列表无法正常工作

时间:2013-12-19 20:16:19

标签: c# vb.net class web

我正在使用.NET 4.0,我正在尝试从DynamicObject()网络服务创建并返回.asmx的列表

我从HERE复制了动态类实现,我称之为Test()

网络服务

enter image description here

该服务不会破坏它只是返回此

enter image description here

我在期待:

<test>
  <name>joe</name>
</test>

我做错了什么,这是为Web服务创建动态类属性的正确方法

2 个答案:

答案 0 :(得分:0)

因此,您遇到的问题是DynamicDictionary不可序列化。您需要实现ISerializable接口。但是,在我看来,只使用匿名类型列表会更好,所以像这样:

Dim x As New List(Of Object)
Dim y As New With { name = "joe" }
x.Add(y)
Return x

答案 1 :(得分:0)

不要重新发明轮子。使用ExpandoObject

如果仍然没有序列化,则ExpandoObject会实现IDictionary接口,因此您可以轻松地生成List<IDictionary<object, object>>(抱歉,不知道嵌套泛型的VB语法)并创建{{1} 1}}正常。然后将y投射到y,然后再添加到列表中。