命名空间中的类声明

use*_*218 1 .net c# namespaces

是否可以在C#中声明一个只在其名称空间中使用的类?

例:

namespace a
{
    public class Dog
    {
        public void sayHello()
        {
            System.Console.WriteLine('hello');
        }
    }
}

namespace b
{
    public class DogWalker        
    {
        public void Walk() 
        {
            Dog dog = new Dog();
            dog.sayHello();
        }
    }
}

namespace a
{
    public class DogWalker
    {
        public void Walk() 
        {
            Dog dog = new Dog();
            dog.sayHello();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的情况下,命名空间b中的DogWalker应该在编译时抛出错误消息,但是应该允许命名空间a中的DogWalker,因为它在与Dog相同的命名空间中.

如果有人能指出正确的方向,我将不胜感激.

Ond*_*cny 5

您可以通过将类分成不同的程序集并将其声明为来实现此目的internal.