我正在尝试组织一个图书馆。我的问题是它会很快变得非常大。
这是我到目前为止所做的:
namespace MyLibrary {
namespace Math {
namespace Geometry {
public class BezierCurve {
//...
};
}
namespace Combinatorics {
}
}
namespace Collections {
}
//...
}
现在它的代码行不多,但由于BezierCurve单独约200行,因此创建上述文档中的所有类是不可能的。
是否有可能以某种方式在另一个文档中指定BezierCurve的内容并在命名空间Geometry中包含/引用它?
答案 0 :(得分:0)
建议每个文件使用一种类型(嗯,有一些例外)。因此,您将拥有一个没有所有嵌套结构的命名空间:
namespace MyLibrary.Math.Geometry
{
public class BezierCurve
{
// ...
}
}
如果你想在另一个文件中引用BezierCurve
,只需添加一个带有适当命名空间的using指令:
using MyLibrary.Math.Geometry;
namespace MyLibrary.Math.Combinatorics
{
public class SomeClassFromCombinatoricsWhichUsesBezierCurve
{
// ...
}
}
答案 1 :(得分:0)
多个文件可以在同一名称空间中声明类。不需要在单个文件中完全定义名称空间。 你应该每个类有一个文件。 例如你的BezierCurve通常会在: 在MyLibrary /数学/几何/ BezierCurve.cs 并在
内宣布namespace MyLibrary.Math.Geometry
{
public class BezierCurve
{
}
}