gpt4 book ai didi

C# - 命名空间内的类型声明

转载 作者:太空狗 更新时间:2023-10-30 00:12:47 28 4
gpt4 key购买 nike

在命名空间内而不是在类中声明类型的可能用途是什么。

例如:

namespace Test
{
public delegate void Ispossible();
}

这是有效的并且不会产生任何编译错误,但我想不出为什么我们会以这种方式而不是在类中声明它。

最佳答案

namespace 是 .NET 中的高级组织单元。

类中声明类型通常是不受欢迎的(但是,对于所有事情,这不是 100% 的规则),因为它会使类型更紧密地耦合并且更难找到。

VB.NET 模块有点异常(exception)(编辑:它们实际上更像是一种编译器技巧/语法糖),但通常 .NET 生态系统中的所有内容都包含在命名空间中.

您的示例适合重用;如果它在一个类中,则意味着该委托(delegate)只能由该类使用,并且可能会导致不必要地引入重复的委托(delegate)。


更新:当只使用少数几种类型时,命名空间似乎没有多大用处,但如果没有它们,任何规模的项目都将是一场组织灾难。想象一下没有命名空间的 .NET 框架,一个(可能早就过时的)计数使框架有 3500 种类型。

命名空间就像文件的文件夹或抽屉;几张松散的纸张很容易管理,但如果您有很多页,那么找到您需要的那一页就很痛苦了。

阅读一下文档,它很短而且不是很复杂(命名空间也不是)但是有几个不错的要点 MSDN - Namespace (c#)

关于C# - 命名空间内的类型声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343449/

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