我们通过反射按需动态加载程序集到目前为止,我们已经定义了五个 dll,并且所有这些都已由Assembly.LoadFile()
. 在其中一个程序集中,我们定义了一个接口IDeviceConnection
,它继承自IConnection
(在应用程序和程序集使用的合同项目中定义)。
我们已经设法创建了一个 的实例ParameterManager
,该实例在与接口完全相同的 dll 中定义IDeviceConnection
。但是,一旦我们尝试将 aIConnection
转换为 a IDeviceConnection
,应用程序就会崩溃,告诉我们它无法转换IConnection
为IDeviceConnection
,尽管它是一个 IDeviceConnection。调用 connection.GetType().GetInterfaces() 会显示几个接口,其中包含IConnection
和 IDeviceConnection
。
我们可以开始调查这种行为的任何提示吗?
提前致谢!