是否可以在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();
}
}
}
在上面的情况下,命名空间b中的DogWalker应该在编译时抛出错误消息,但是应该允许命名空间a中的DogWalker,因为它在与Dog相同的命名空间中。
如果有人能指出正确的方向,我们将非常感激。
答案 0 :(得分:5)
您可以通过将类分成不同的程序集并将它们声明为internal
来实现此目的。
答案 1 :(得分:0)
是否可以在C#中声明一个只能使用的类 在其命名空间内?
是。将您的课程标记为internal
答案 2 :(得分:0)
答案 3 :(得分:0)
您需要将类的“公共”访问修饰符更改为“内部”。