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

标签 c# .net

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

但据我们所知,一张图片可以表达一千多个字,所以现在开始吧: Architecture overview

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

现在我的问题是:为什么这样做有效? 将这两个类放在同一个 AppDomain 中应该不会有问题吗? 这样做安全吗,还是我只是走运?

最佳答案

类型不仅仅是它的类名和命名空间。它还包括装配信息以对其进行限定。你可以比较AssemblyQualifiedName property任何 System.Type 并查看它们是不同的。

关于c# - 使用相同的名称/命名空间实例化不同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033188/

相关文章:

c# - 如何在 WPF 中使用 MVVM 将 Windows 窗体控件绑定(bind)到 "Grid"面板

c# - 异步任务运行时如何更改进度条值

c# - 为什么有些 cookie 在域之前有一个 '.'?

c# - 将带有动画元素的 C# winforms Panel 或 PictureBox 保存到 gif 文件?

c# - 套接字服务器和NUnit : Thread. sleep

c++ - 在 C++ CLI 中加载托管 DLL,具体取决于 native dll

c# - 将压缩图像与原始图像进行比较

C#4 : Real-World Example of Dynamic Types

c# - C#中的 'fixed'语句和CIL代码中的托管指针

c# - 创建异步包装器的方法