【问题标题】:Argument type 'System.Type' is not assignable to parameter type 'bool'参数类型“System.Type”不可分配给参数类型“bool”
【发布时间】:2019-04-16 13:36:03
【问题描述】:

当通过 SO 搜索一种反序列化 XML 的方法时,以下内容不断弹出:

XmlSerializer serializer = new XmlSerializer(typeof(MyClass));

但是当我将它粘贴到我的代码中时,我在 typeof(MyClass) 下看到可爱的红线,说明:

Argument 1: Cannot convert from 'System.Type' to 'bool'
Argument type 'System.Type' is not assignable to parameter type 'bool'

那太好了.. 既然你们都设法让它发挥作用。顺便说一句,MyClass 看起来像这样:

public class MyClass
{
    public Blabla[] Bla {get; set;}
    public SomethingElse[] Som {get; set;}
}

谁能给我提示一下我做错了什么?

【问题讨论】:

  • 右键单击 XmlSerializer 并选择转到定义。我敢打赌,这不是您认为的 XmlSerializer。
  • 你班上怎么没有[Serializable()]? Blabla[] 和 SomethingElse[] 是什么?
  • 因为他不需要 xml 序列化程序?
  • 天啊....我现在感觉很蠢...谢谢...
  • @Will 是对的。我使用了错误的 XmlSerializer...

标签: c# xml deserialization xmlserializer serialization


【解决方案1】:

答案: 正如 Will 所说,XmlSerializer 并不是我认为的那样。 我使用的是 ServiceStack 命名空间中的一个,而不是 System.Xml.Serialization - 这是正确的。

在类上按 F12(使用 ReSharper)也会指示这一点。

【讨论】:

    猜你喜欢
    • 2020-08-23
    • 2021-04-07
    • 2021-08-19
    • 1970-01-01
    • 2021-10-16
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    相关资源
    最近更新 更多