【问题标题】:Type.GetType returns null for DataContractSerializerType.GetType 为 DataContractSerializer 返回 null
【发布时间】:2014-05-10 17:12:12
【问题描述】:

我传递的参数值为:

“System.Runtime.Serialization.DataContractSerializer, System.Runtime.Serialization”

当我添加 bool 参数以引发异常时,我得到 FileNotFoundException。

我找不到任何关于为什么这不起作用的文档。我能找到的与此方法相关的唯一问题是调用者未指定程序集名称。

另外,我的项目有一个对 System.Runtime.Serialization 的程序集引用。

var type = Type.GetType("System.Runtime.Serialization.DataContractSerializer, System.Runtime.Serialization", true);

【问题讨论】:

  • 你能显示一些代码吗?
  • 您是否在项目中添加了对System.Runtime.Serialization 的程序集引用?
  • 是的,该项目有一个对 System.Runtime.Serialization 的程序集引用。将这一点添加到问题中,谢谢。
  • 很奇怪。你能发布FileNotFound异常的详细信息吗?
  • 您需要添加您的 QualifiedAssemblyName 中缺少的版本、文化和 PublicKeyToken。要在不需要这些参数的情况下实现您想要的,请看这里:stackoverflow.com/questions/2367652/…(请注意,程序集需要已经加载,否则它将无法工作)

标签: c#


【解决方案1】:

如果您尝试获取代表DataContractSerializerType 对象,您可以使用typeof 运算符:

Type type = typeof(System.Runtime.Serialization.DataContractSerializer);

【讨论】:

  • 字符串值实际上是方法中的一个参数。我在这里只显示字面值以进行说明。
猜你喜欢
  • 1970-01-01
  • 2019-11-09
  • 2012-02-01
  • 2011-11-18
  • 2011-11-09
  • 2012-10-14
  • 1970-01-01
相关资源
最近更新 更多