我有一个方法需要解析类的类型。此类存在于另一个程序集中,其命名空间类似于:
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/