Bộ định danh không gian tên chung cho phép bạn truy cập một thành viên trong vùng tên chung ("trống").
Nếu bạn gọi một loại không đủ tiêu chuẩn (ví dụ: MyClass.DoSomething() thay vì MyNamespace.MyClass.DoSomething()), thì nó được giả định là trong không gian tên hiện tại. Làm thế nào sau đó bạn có đủ điều kiện loại để nói rằng nó là trong không gian tên toàn cầu/trống?
mẫu mã này (giao diện điều khiển ứng dụng) nên minh họa hành vi của nó:
using System;
namespace MyNamespace
{
public class Program
{
static void Main(string[] args)
{
MessageWriter.Write(); // writes "MyNamespace namespace"
global::MessageWriter.Write(); // writes "Global namespace"
Console.ReadLine();
}
}
// This class is in the namespace "MyNamespace"
public class MessageWriter
{
public static void Write()
{
Console.WriteLine("MyNamespace namespace");
}
}
}
// This class is in the global namespace (i.e. no specified namespace)
public class MessageWriter
{
public static void Write()
{
Console.WriteLine("Global namespace");
}
}
Nguồn
2009-07-10 07:57:20
Điều này không trả lời được câu hỏi tại sao. Mã được tạo sử dụng các loại được khai báo trong không gian tên và vẫn toàn cầu :: được sử dụng. –
@Ihar: Toàn cầu được sử dụng theo cách tương tự để chỉ định rằng không gian tên không phải là tên phụ ... –
Không - câu hỏi hỏi ba điều: Điều này có nghĩa là (giải thích), tiền tố này (giải thích) và ở đâu nên sử dụng nó (mà bạn sẽ biết khi bạn đã hiểu hai điểm còn lại). Câu hỏi của bạn - "tại sao nó được sử dụng trong các tệp thiết kế" không được hỏi bởi người hỏi ban đầu. –