首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.Net类型的Type.GetType失败

System.Net类型的Type.GetType失败
EN

Stack Overflow用户
提问于 2012-09-27 22:10:53
回答 1查看 200关注 0票数 1

在尝试通过反射实例化WebProxy实例时,我遇到了这个奇怪的问题:

代码语言:javascript
复制
    Dim proxyType As Type = GetType(System.Net.WebProxy)
    MsgBox(proxyType.FullName)

    Dim reflProxyType As Type = Type.GetType(proxyType.FullName)
    MsgBox(reflProxyType.FullName) ' Here, reflProxyType is null => NullReferenceException

将第一行更改为其他系统名称空间(即System.Text.StringBuilder或System.String)运行良好。

代码语言:javascript
复制
    Dim systemType As Type = GetType(System.Text.StringBuilder)
    MsgBox(systemType.FullName)

    Dim reflSystemType As Type = Type.GetType(systemType.FullName)
    MsgBox(reflSystemType.FullName) ' Here, everything works fine

这种行为有什么原因吗?我是不是漏掉了什么?微软是否对System.dll设置了一些限制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-27 22:14:50

答案就在Type.GetType (string)MSDN docs

参数

typeName类型: System.String

要获取的类型的程序集限定名称。参见AssemblyQualifiedName。如果类型在当前执行的程序集中或在Mscorlib.dll,中,则只需提供由其命名空间限定的类型名称即可。

WebProxy类在System.dll中,而不是Mscorlib.dll中。因此,您必须执行以下任一操作:

  1. 提供程序集限定名称,而不仅仅是完全限定名称。(或者)
  2. 使用Assembly.GetType(string)方法。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12623380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档