我有一个由两个 DLL 和一个可执行文件组成的架构。两个 DLL 定义了一个具有相同名称和命名空间但可能不同实现的类。我想做的是为每个类创建一个对象,并让它们同时共存。
令人惊讶的是:它似乎确实有效! 我已经使用大量反射实现了一个小型原型(prototype)来加载 DLL 并实例化对象。
现在我的问题是:为什么这样做有效? 将这两个类放在同一个 AppDomain 中应该不会有问题吗? 这样做安全吗,还是我只是走运?
最佳答案
类型不仅仅是它的类名和命名空间。它还包括装配信息以对其进行限定。你可以比较AssemblyQualifiedName
property任何 System.Type
并查看它们是不同的。
关于c# - 使用相同的名称/命名空间实例化不同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033188/