gpt4 book ai didi

c# - 两个具有相同命名空间的不同 DLL

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:23 34 4
gpt4 key购买 nike

我有两个具有相同命名空间的 DLL 文件,但它们具有不同的方法和类型。如何在我的项目中引用这两个 DLL 并使用它们的方法和类型?

顺便说一句,这两个DLL有一些同名但实现不同的方法和类型,还有一些独特的方法和类型。

最佳答案

您不需要做任何特别的事情 - 只需引用它们并使用类型即可。命名空间可以毫无问题地跨越多个程序集,因为它们并不是真正的不透明类型。命名空间只是一种为其包含的所有类型添加公共(public)前缀的方式,允许您在不同的命名空间下拥有多个同名类型。 (框架不会将它们视为具有相同的名称,因为它看到所有内容的“完全限定”名称 - 其前面附加了一个别名和一个 namespace 。)

在极少数情况下,您引用了具有相同类型名称相同 namespace 的 2 个程序集(例如同一 dll 的 2 个不同版本)——您可以区分使用哪个程序集使用别名的给定类型。所有引用的默认别名是 global , 但您可以在引用任何程序集时为它指定您自己的别名(使用编译器开关 - 或者只使用 Visual Studio 中的属性框) - 并且有一个 extern alias <name>在您使用它的代码文件顶部的子句 - 您可以使用 <name>::MyNamespace.Type 访问来自不同程序集的类型

关于c# - 两个具有相同命名空间的不同 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950341/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com