c# - 从不同程序集中的类名解析类型

标签 c# .net reflection

我有一个方法需要解析类的类型。此类存在于另一个程序集中,其命名空间类似于:

MyProject.Domain.Model

我正在尝试执行以下操作:

Type.GetType("MyProject.Domain.Model." + myClassName);

如果执行此操作的代码与我要解析其类型的类位于同一程序集中,则此方法效果很好,但是,如果我的类位于不同的程序集中,则此代码将失败。

我确信有更好的方法来完成这项任务,但我在解析程序集和遍历其中的 namespace 以解析我正在寻找的类的类型方面没有太多经验。有什么建议或技巧可以更优雅地完成这项任务吗?

最佳答案

您必须像这样添加程序集名称:

Type.GetType("MyProject.Domain.Model." + myClassName + ", AssemblyName");

为避免歧义或者如果程序集位于 GAC 中,您应该提供一个完全限定的程序集名称,如下所示:

Type.GetType("System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

关于c# - 从不同程序集中的类名解析类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512319/

相关文章:

c# - 指定应用程序 c# 的区域性

c# - 用于在新窗口/选项卡中打开其他网站链接的自动化系统

c# - 运算符==在基础中和在派生中等于

c# - Asp.Net 尝试获取 ClientID

java - 我可以覆盖一个隐藏的(但公共(public)的)方法并调用它的 super 方法吗?

java - 通过反射调用方法时包含参数

c# - 是否可以使用 VS2008 在 C# 中自动连接事件?

c# - 在文本框更改时动态更新标签文本?

c# - 有没有第三方文件上传工具可以上传大于2GB的文件?

java - 如何使用java反射来确定基类字段的泛型类型