【问题标题】:Is it common practice to use the same Namespace in multiple classes in C#在 C# 的多个类中使用相同的命名空间是常见的做法吗
【发布时间】:2016-03-03 13:04:49
【问题描述】:

我知道命名空间的用途,但我不确定在使用命名空间时程序的结构应该如何。

1- 您是为程序中的所有相关类使用相同的namespace 名称,还是为每个类使用不同的命名空间?

2- 如果一个唯一的命名空间更常见,使用与类相同的名称是否常见?

有人可以就namespaceC# 中的使用方式给我一些一般性建议吗?

使用相同命名空间名称的示例:

// Main program
using System;
using Zoo;

public class Program {
    public static void Main()
    {
        Dog buddy =  new Dog();
        buddy.bark();
        buddy.run();
    }
}

// Animal class
namespace Zoo{
    class Animal{
        public void run(){
            Console.WriteLine("Running...");
        }
    }
}

// Dog Class
namespace Zoo{
    class Dog:Animal{
        public void bark(){
            Console.WriteLine("Barking...");
        }
    }
}

【问题讨论】:

  • 命名空间的重点是将相关的类组合在一起。为每个类创建一个命名空间是没有用的。
  • 有道理,根据我的例子,我想我是在正确的轨道上。
  • @evelikov92。谢谢你的链接,上面的第二个例子回答了我的问题。

标签: c# namespaces


【解决方案1】:

这是微软自己关于命名空间的指南:

Guidelines

我希望这会有所帮助。

【讨论】:

  • 由于某种原因,@evelikov92 提供的链接更好地解释了它,顶部的第二个示例回答了我的问题。谢谢
【解决方案2】:

From MSDN 有一些解释。关于c#中使用的命名空间,以及示例。

更新:对于你的第一个问题,我尝试用一​​些简单的例子来解释。 例如,让我们有图书馆。这就像头命名空间。在这个图书馆你有书。每本书都是一些对象。这本书在命名空间库中。所以可能只有一个命名空间'Library.BookName'。您可以在头名称空间“图书馆”中创建每个类,但在图书馆书籍中的常见情况下,在部分中是分开的,例如(科幻、体育等)。最好有类似命名空间的“Library.Sport.BookName”。

回到你的问题。您可以为每个类使用相同的命名空间。但最好是在几个命名空间中分开,而不是在一个命名空间中。

【讨论】:

  • 我更新了我的答案并为您的第一个问题添加了一些解释。希望对您有所帮助。
  • 如果对你有好处,别忘了将我的答案标记为已检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多