0

将新类添加到命名空间时,这就是我得到的(这是在 mvc3 项目中)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Foo.Models
{
 public class Bar
 {
 }
}

在命名空间 Foo.Models 中还有其他类。但是,最好通过将内容放在不同的 .cs 位置来分隔内容。我认为这是相当标准的。我知道编译器无论如何都会发挥它的魔力来组合所有这些。这就是我的问题的来源。如果命名空间是稍后组合的,那么为什么需要始终重新定义类正在使用的内容?如果它已经在命名空间中的某个地方可用,那么是否有必要using System;在每个.cs文件中定义命名空间内的类?有人可以为我解释一下吗,也许还可以阐明一种可能的方式来实现这一点那些。

4

1 回答 1

3

这些using语句的范围仅限于您正在使用的特定 .cs 文件。

它们只是在该类文件的上下文中提供了一个方便的快捷方式,允许您仅使用类的名称,而不是在您使用它们的任何地方完全限定类名称。

存在命名空间是因为不同的团队不可避免地会为不同的类使用相同的类名(我想知道有多少 Util 类)。

您的项目中可能有两个不同的类,它们想要使用具有相同名称的不同对象。在每个文件中拥有不同using语句的能力使您可以方便地做到这一点。

请注意,您始终可以编辑新类的模板,以在所有类中预填充using您需要的语句。

于 2012-09-18T19:30:14.890 回答