提问人:yem 提问时间:12/19/2021 更新时间:12/19/2021 访问量:204
取消嵌套命名空间 C# Visual Studio
unnesting namespace c# visual studio
问:
我有一个嵌套的 namepace 作为大项目的一部分。DO
namespace IDAL
{
namespace DO
{
public struct MyStruct
{
// Code
}
}
}
我需要将命名空间的名称更改为 ,并将嵌套的命名空间更改为 。IDAL
DalApi
IDAL.DO
DO
使用 Visual Studio 重命名选项,第一部分非常简单。
我在第二部分遇到了更多的困难。我不能使用重命名选项来提取命名空间并使其成为非嵌套命名空间。
我试着像这样删除外部命名空间,
namespace DO
{
public struct MyStruct
{
// Code
}
}
但是我需要开始修复引用命名空间的所有时间(即 - 其中 WeightCategory 是一个枚举,需要更改为仅举一个例子)。虽然这似乎会奏效,但似乎这是一项艰巨的工作,可能有一个更容易的解决方案。IDAL.DO.WeightCategory
DO.WeightCategory
我尝试使用搜索和替换功能来尝试替换发生这种情况的所有实例,但它似乎没有解决问题(它被设置为替换整个解决方案)。Ctrl+H
是否有 Visual Studio 2019 工具可以轻松地将嵌套命名空间更改(重构)为非嵌套命名空间?
答:
是否还需要更改有效的命名空间?如果没有,您可以简单地切换到完全限定的命名空间,如下所示:IDAL.DO
namespace IDAL.DO
{
public struct MyStruct
{
// Code
}
}
如果您确实想将整个命名空间更改为简单,那么重构工具确实是您需要使用的。以下链接应帮助您开始这方面的工作:DO
https://dev.to/gopkumr/adjust-namespaces-automatically-visual-studio-2019-1f0b https://learn.microsoft.com/en-us/visualstudio/ide/refactoring-in-visual-studio?view=vs-2022 https://learn.microsoft.com/en-us/visualstudio/ide/reference/extract-method?view=vs-2022 https://learn.microsoft.com/en-us/visualstudio/ide/reference/move-type-to-matching-file?view=vs-2022
在 Visual Studio 中,在光标处于 上时,对其执行 + 操作:MyStruct
CTRL
.
然后只需单击“移动到命名空间...”并编写您想要的命名空间,VS 将负责其余的工作:
评论