【发布时间】:2023-03-07 18:03:01
【问题描述】:
我知道这是一个非常基本的问题,但我仍然想确认这个过程是怎样的。 假设我们有一个名为 ServiceLayer 的类库和一个名为 BookSercie 的文件夹,以及一个直接在类库下的类文件 Book.cs 和一个名为 BookDto.cs 的类文件 所以它会是这样的:
ServiceLayer
├── BookSercie
├── BookDto.cs
Book.cs
// Book.cs
using System;
namespace ServiceLayer {
public class Book {
...
}
}
// BookDto.cs
using System;
namespace ServiceLayer.BookServices {
public class BookDto {
... // reference Book in Book.cs
}
}
上面的代码有效,所以我的问题是,因为BookDto在ServiceLayer.BookServices命名空间,而Book在ServiceLayer命名空间,所以它们不是同一个命名空间,但我们不需要添加BookDto.cs中的using ServiceLayer;,那么是不是意味着编译器会取ServiceLayer.BookServices,并自动将它的前一部分(本例中为ServiceLayer)添加为命名空间,例如:
namespace A.B.C.D {
public class SomeClass { ... }
}
编译器会分析并自动添加:
using A;
using A.B;
using A.B.C;
namespace A.B.C.D {
public class SomeClass { ... }
}
我的理解正确吗?
【问题讨论】: