问题标签 [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.
c# - 尝试序列化动态派生对象时出现 C# 异常
我有以下课程:
以及以下代码片段:
当我尝试序列化此列表时,出现错误:
System.InvalidOperationException:类型 Elephant 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。
起初,我也遇到了Cat
,Cow
和Dog
对象的异常,并通过添加[XmlInclude(typeof(...))]
到它们的类来解决它,如上所示,但我找不到动态派生类型的类似解决方案,因为此属性是在编译时设置的。
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.KeyValuePair
2[[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,但我们才刚刚开始,还会添加其他字段)
客户端程序员的期望可能如下所示: