首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# in GetType,

C# in GetType,
EN

Stack Overflow用户
提问于 2009-03-09 12:58:14
回答 3查看 501关注 0票数 1

考虑一下密码,

代码语言:javascript
复制
Type t0 = Type.GetType("System.Drawing.dll");
Type t1 = Type.GetType("System.Drawing.Font");

在这里,为了找到"System.Drawing.Font“的类型,需要程序集"System.Drawing.dll”。如何使用它?

也就是说,如果我这样做了,那么t0的值就不会为空。?

假设我拥有一个dll,proj.dll,我需要找到dll中存在的类Class1的类型。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-09 13:01:48

指定程序集,包括强命名程序集的版本号:

代码语言:javascript
复制
Type t = Type.GetType("System.Drawing.Font,System.Drawing,"+
                      " Version=2.0.0.0, Culture=neutral, "+
                      "PublicKeyToken=b03f5f7f11d50a3a");

当然,如果它只是System.Drawing.Font (或者编译时知道的另一种类型),那么使用typeof

代码语言:javascript
复制
Type t = typeof(System.Drawing.Font);

如果在编译时知道同一程序集中的另一种类型,则可以使用Assembly.GetType

代码语言:javascript
复制
Type sizeType = typeof(System.Drawing.Size);
Assembly assembly = sizeType.Assembly;
Type fontType = assembly.GetType("System.Drawing.Font");
票数 9
EN

Stack Overflow用户

发布于 2009-03-09 13:04:49

传递程序集的强名称来加载它,然后从它加载类型,如

代码语言:javascript
复制
  Assembly asm = Assembly.Load("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
            Type font = asm.GetType("System.Drawing.Font");
票数 2
EN

Stack Overflow用户

发布于 2009-03-09 13:01:49

您需要System.Reflection.Assembly.Load方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/626115

复制
相关文章

相似问题

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