好的,这是我的问题:
我有一个 xml 文件,其中记录了方法及其参数。此 xml 文件记录了一个 ID 值列表,其 .net 通用接口类型名称如下:
System.Collections.Generic.IList`1[CoreLib.Domain.MyClass]
我知道这些参数中的大多数将是通用列表或字典。当我尝试对从 xml 读取的字符串值使用 GetType 时,它都返回 null,如果我尝试将 throw 异常标志设置为 true,它会抛出以下消息:
“无法从程序集 'TestLibrary,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null' 加载类型 'CoreLib.Domain.MyClass'。”
获得可以拉回我可以填充的实际类型的东西的最佳策略是什么?先感谢您!
更新我试图将程序集引用添加到字符串名称,如下所示:
Type.GetType("System.Collections.Generic.List`1[CoreLib.Domain.MyClass,CoreLibrary]")
或者
coreLibAssembly.GetType("System.Collections.Generic.List`1[CoreLib.Domain.MyClass,CoreLibrary]")
两者都会导致一个空对象,或者如果我请求抛出一个异常,如果我没有指定程序集名称,我会得到相同的消息。我也尝试使用程序集绑定日志查看器,但列表中没有出现任何应用程序,并且在我运行我的代码后,应用程序中似乎没有出现任何内容(它在 nunit 执行的测试项目中)。
有什么想法吗?