【发布时间】:2009-06-10 06:28:36
【问题描述】:
场景:
假设我想定义自己的类。
public class Person
{
}
我希望把它放在命名空间系统中。
注意:我没有在顶部包含指令'using System'..
namespace System
{
public class Person
{
public void Display()
{
Console.WriteLine("I am mine");
}
}
}
虽然我没有在顶部包含using System; 指令,但我仍然可以在我的方法中访问System.Console.WriteLine,因为我声明的命名空间是System。
这怎么可能?进展如何?
【问题讨论】:
-
mscorlib.dll 自动可用。因此,即使您不添加“使用系统;”它可供您的班级使用。
-
@shahkalpesh 并非如此。您可以在没有特定“使用”语句的情况下使用的唯一类型是 C# 别名类型,例如 int/string/object/etc
-
这也不是真的,因为它有效:global::System.Console.WriteLine("Testing, 1, 2, 3...");
-
请注意 using 指令与命名空间有关,而 mscorlib.dll 是一个程序集。它们是非常不同的概念。
-
@Jon:你是对的。然而,系统命名空间和控制台类是 mscorlib.dll 的一部分。作为基础程序集(包含对象),默认情况下它是可用的。我说错了吗?
标签: .net namespaces