使用相同的名称/命名空间实例化不同的类

时间:2016-03-16 10:37:03

标签: c# .net

我有一个由两个DLL和一个可执行文件组成的体系结构。这两个DLL都定义了一个具有相同名称和命名空间的类,但可能有不同的实现。我想要做的是创建每个类的对象,并让它们同时共存。

但是,正如我们所知道的一张图片说的超过千言万语,所以你走了: Architecture overview

令人惊讶的是:它似乎真的有效! 我已经实现了一个使用大量反射的小型原型来加载DLL并实例化对象。

现在我的问题是:为什么这样做? 在同一个AppDomain中是否存在同时存在这两个类的问题? 这样做是否安全,或者我是否幸运?

1 个答案:

答案 0 :(得分:6)

类型不仅仅是类名和命名空间。它还包括装配信息以使其合格。您可以比较任何System.Type的{​​{3}},看看它们是不同的。