手动更改命名空间是错误的吗

本文关键字:错误 命名空间 | 更新日期: 2023-09-27 18:22:23

出于组织目的,我在每个类中手动设置名称空间
就像我有一个名为myProject的项目,名称空间是myProject我会将其更改为mySolution.myProject然后以与相同的方式更改嵌套目录

namespace myProject.Folder1
{
     ///
}

namespace mySolution.myProject.Folder1
{
     ///
}

这样,多个项目可以成为一个命名空间的一部分,
这样做有效吗?

手动更改命名空间是错误的吗

更改名称空间是完全可以的。有时这样做可能是有利的。如果你将一个大项目导入一个较小的项目,那么将较小的项目改为较大项目的命名空间约定可能是有意义的。

当这样做的时候,有一个问题与网络标记文件有关。aspx/.ascx,不确定MVC标记。我记得在MVC2中遇到过这个问题。此处对命名空间的不正确引用不会被调试编译器捕获,并且在尝试加载页面时会引发错误。因此,如果您确实更改了现有文件的名称空间,请记住更改编译器未检查的其他源文件。

从默认名称空间更改名称空间非常常见。这个stackoverflow问题有一个关于命名约定的好答案:

命名空间命名约定。

在项目属性下,"应用程序"选项卡上有一个设置,您可以在其中指定默认名称空间。如果在创建项目时设置了该选项,则在创建每个类文件时不必手动更改它们。

只要更新对名称空间的任何引用,手动更改名称空间就不是问题。

(在你的其他档案里);

using myProject.Folder1;

如果未更新为;

using mySolution.myProject.Folder1;

那么就会出现编译错误。

我会使用Refactor的重命名选项,只是为了确保某个地方没有任何对错误命名空间的引用。就使用mySolution.myProject作为命名空间而言,我认为它没有任何问题