我无意中为命名空间和类名使用了相同的名称,并且需要重命名其中一个的所有实例

Posted

技术标签:

【中文标题】我无意中为命名空间和类名使用了相同的名称,并且需要重命名其中一个的所有实例【英文标题】:I inadvertently used the same name for namespace as well as the class name, and need to rename all instances of one of them 【发布时间】:2021-03-26 21:40:22 【问题描述】:

我无意中为命名空间和类名使用了相同的名称,并且需要重命名其中一个实例的所有实例...仅重命名类更容易逃脱吗?

我回答了一些关于该主题的现有问题:

    Should a class have the same name as the namespace? What's the best way to do a bulk namespace rename on a large c# application?

可以肯定的是,命名空间和类的名称肯定需要不同。似乎即使您可以重构命名空间,也需要在多个文件中手动更改它。

因此,我是否应该简单地重命名类名,它只需要在四个地方重命名:类名定义本身、构造函数和 Program.cs 文件中的两个地方(这是一个 Azure Service Fabric 应用程序)。

我是否遗漏了需要更改类名的地方?

【问题讨论】:

重命名类通常更容易,因为更容易诱使 IDE 做正确的事情。这样做是否正确是您必须自己决定的事情。如果在 IDE 中使用重命名重构,它应该重命名类、构造函数、用法和文件名。如果您在字符串中引用了类名(您不应该这样做,请改用nameof(type)),您可能必须在之后手动修复它们。 【参考方案1】:

如果您选择使用 Visual Studio,您可以轻松更改文件名。方法如下:

    转到Source Explorer

    右键单击要重命名的文件 > 点击Rename

    出现一个对话框 > 点击Yes

这将重命名解决方案中文件的所有引用。

【讨论】:

以上是关于我无意中为命名空间和类名使用了相同的名称,并且需要重命名其中一个的所有实例的主要内容,如果未能解决你的问题,请参考以下文章

c#里一个文件夹下可以添加多个命名空间和类名相同的类么

解决ambiguous symbol命名空间中类名变量名冲突的问题

从 C# 2.0 中的 dll 获取命名空间、类名

相同命名空间相同类名的程序集间引发的致命错误

如何确定调用方法和类名? [复制]

命名空间和类名冲突