问题标签 [xmlinclude]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1577 浏览

c# - 尝试序列化动态派生对象时出现 C# 异常

我有以下课程:

以及以下代码片段:

当我尝试序列化此列表时,出现错误:

System.InvalidOperationException:类型 Elephant 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。

起初,我也遇到了Cat,CowDog对象的异常,并通过添加[XmlInclude(typeof(...))]到它们的类来解决它,如上所示,但我找不到动态派生类型的类似解决方案,因为此属性是在编译时设置的。

0 投票
0 回答
973 浏览

c# - System.InvalidOperationException: '类型 System.Collections.Generic.List`1 不能在此上下文中使用。'

我有一个将数据返回给客户端的 asmx。在 asmx 我有以下方法:

CustomField 是我正在创建的自定义类型。此时它看起来如下:

当我得到我的数据时,我将它作为 List> 返回,然后映射到我的 CustomField 对象的列表。

当我执行以下操作时,出现错误:

当我不将 clientCollection 添加到 CompaniesCollection 时,一切正常,并且我的客户端应用程序接收数据。当我添加 clientCollection 时,出现异常。我得到的例外如下:

System.InvalidOperationException: '类型 System.Collections.Generic.List 1[[System.Collections.Generic.KeyValuePair2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=4.0.0.0 , Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] 不能在这种情况下使用。

我忘记了什么?我一直在四处寻找和阅读,但我还没有找到解决方案。

(我知道我的 CustomField 对象看起来像 KeyValuePair,但我们才刚刚开始,还会添加其他字段)

客户端程序员的期望可能如下所示: