我正在使用.NET 4.0
,我正在尝试从DynamicObject()
网络服务创建并返回.asmx
的列表
我从HERE复制了动态类实现,我称之为Test()
网络服务
该服务不会破坏它只是返回此
我在期待:
<test>
<name>joe</name>
</test>
我做错了什么,这是为Web服务创建动态类属性的正确方法
答案 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
,然后再添加到列表中。