在 C# 中,如果我创建一个没有命名空间的类,在尝试实例化该类时我将使用什么命名空间?

例如,假设 main 是...

namespace NamespaceTests
{
    class Program
    {
        static void Main(string[] args)
        {

        }
    }
}

...并假设我的无命名空间类是 ...
public class test
{
    public string SayHello()
    {
        return "Hello World!";
    }
}

...并假设我有另一个同名的类,但具有默认命名空间...
namespace NamespaceTests
{
    public class test
    {
        public string SayHello()
        {
            return "Hello Moon...";
        }
    }
}

...我将如何修改 main 以包含无命名空间类的实例并调用“SayHello”来检索消息“Hello World!”?具体来说,我将如何完全限定类“test”的无命名空间实例,特别是考虑到我可能有另一个也称为“test”的类但有一个命名空间,所以我需要区分......

最佳答案

它在 global namespace 中,可以这样引用:
var x = new global::test();

关于c# - 如果没有定义命名空间,类将拥有什么命名空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25491518/

10-16 23:51