如何从命名空间中删除大括号
How to remove curly braces from a namespace
我想知道如何从命名空间中删除大括号并用分号 (;) 结束它。
实际上:
namespace ProductsGroup{
public void save{
}
}
我需要:
namespace ProductsGroup;
public void save{
}
除非您使用 file-scoped namespaces 针对 C# 10 进行编译,否则您无法执行此操作。 (加粗)
A namespace_declaration consists of the keyword namespace
, followed by a namespace name and body, optionally followed by a semicolon
正文需要花括号。
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/namespaces
Visual-Studio 2022 已经提供了这种重构(反之亦然)。
此外,您可以在 Visual Studio 的 C# 代码样式设置和 .editorconfig
.
中设置首选项
更多详情:https://www.ilkayilknur.com/how-to-convert-block-scoped-namespacees-to-file-scoped-namespaces
更新:以上假定有效代码
在你的问题中:
namespace ProductsGroup{
public void save{
}
}
哪个在任何版本的 C# 中都无效。
可以使用顶级函数,但不能与命名空间一起使用(所有顶级函数都以 class 结尾,根据文件名在根命名空间中命名)。
否则你需要一个类型。所以你可以重构:
namespace MyNamename {
public class MyClass {
public Task MyAsync() {
// ...
}
}
}
to/from
namespace MyNamename;
public class MyClass {
public Task MyAsync() {
// ...
}
}
我想知道如何从命名空间中删除大括号并用分号 (;) 结束它。
实际上:
namespace ProductsGroup{
public void save{
}
}
我需要:
namespace ProductsGroup;
public void save{
}
除非您使用 file-scoped namespaces 针对 C# 10 进行编译,否则您无法执行此操作。 (加粗)
A namespace_declaration consists of the keyword
namespace
, followed by a namespace name and body, optionally followed by a semicolon
正文需要花括号。
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/namespaces
Visual-Studio 2022 已经提供了这种重构(反之亦然)。
此外,您可以在 Visual Studio 的 C# 代码样式设置和 .editorconfig
.
更多详情:https://www.ilkayilknur.com/how-to-convert-block-scoped-namespacees-to-file-scoped-namespaces
更新:以上假定有效代码
在你的问题中:
namespace ProductsGroup{
public void save{
}
}
哪个在任何版本的 C# 中都无效。
可以使用顶级函数,但不能与命名空间一起使用(所有顶级函数都以 class 结尾,根据文件名在根命名空间中命名)。
否则你需要一个类型。所以你可以重构:
namespace MyNamename {
public class MyClass {
public Task MyAsync() {
// ...
}
}
}
to/from
namespace MyNamename;
public class MyClass {
public Task MyAsync() {
// ...
}
}