gpt4 book ai didi

c# - 我可以将另一个 .net 命名空间中的类公开为我的命名空间中的类吗?

转载 作者:行者123 更新时间:2023-11-30 13:35:24 26 4
gpt4 key购买 nike

我能否将来自另一个 .net 命名空间的类公开为我的命名空间中的类?我使用一个类——antlr.collections.AST——作为属于我命名空间中一个类的函数的返回类型;因此,用户必须拥有

using antlr.collections;
using myNamespace;

在他们文件的顶部,以便使用我的功能。我可以让 myNamespace.AST 成为 antlr.collections.AST 的别名吗,这样用户只需要拥有

using myNamespace;

在他们文件的顶部?

最佳答案

请记住,您代码的使用者实际上不需要有 using 语句。这些都是为了让他们的生活更轻松,所以他们不必在他们的源代码中键入 antlr.collections.Foo 和 antlr.collections.Bar。

更大的“影响”(如果确实存在严重的影响)是代码的使用者将需要对定义 antlr.collections 的程序集的硬引用。

但是,如果预先记录下来,老实说,我认为这不是什么大问题。这与 SubSonic 生成的 DAL 的消费者需要对生成的 DAL 程序集和原始 SubSonic 程序集的引用没有什么不同。 (而且,很可能还有 using 语句。)

依赖关系就是它们的本质。将类分成 namespace 是有原因的——主要是为了组织和减少命名冲突。不知道你提到的命名空间中有哪些类,我不知道这种冲突在你的场景中实际发生的可能性有多大......但是试图将类从一个命名空间移动到另一个命名空间,或者隐藏需要这样的事实通过从中派生一个空白类,可能不是最好的主意。拥有另一个引用和使用语句不会杀死您的类的使用者。

关于c# - 我可以将另一个 .net 命名空间中的类公开为我的命名空间中的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138638/

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