将部分 类 拆分为单独的文件
Split partial classes into separate files
我有一个非常基本的问题。在一个 Visual Studio 项目中,我发现了两个名为 Startup 的部分 classes。 classes 在不同的文件中。
如果我单击第一个方法 (ConfigureAuth),它会出现在 class 文件 "Startup.Auth.cs" 中。第二个文件出现在 class 文件 "Startup.cs" 中。我怎样才能像这样组织 classes?
您可以在 C# 中使用部分 classes 将一个大的 class 拆分为多个文件。重构大 class 通常更好,但有一些合理的理由需要大 class。
部分 classes 的另一个用途是允许手动修改生成的代码 class。 class 的代码生成部分进入一个文件,而手动更改保存在一个单独的文件中。在您的情况下,有一个 Startup
class 是从处理启动的不同部分的单独源文件构建的。其中一些文件可以通过 NuGet 包添加,并且使用部分文件 class 大大简化了应用程序中包含不同功能的方式。
使用partial
:
将一个class分割成几个源文件非常简单
假设您在源文件 MyClass.cs
:
中实现了 class
class MyClass {
public void MethodA() { ... }
public void MethodB() { ... }
}
然后您可以将其拆分为两个源文件。 MyClass.A.cs
:
partial class MyClass {
public void MethodA() { ... }
}
和MyClass.B.cs
:
partial class MyClass {
public void MethodB() { ... }
}
因此,通过将 class 标记为 partial
,您可以将 class 的内容分布到 class
构造的多个实例中。编译器会在编译期间将它们全部合并到一个 class
定义中。
您可以在 MSDN 上学习 the details about partial classes。
我有一个非常基本的问题。在一个 Visual Studio 项目中,我发现了两个名为 Startup 的部分 classes。 classes 在不同的文件中。
如果我单击第一个方法 (ConfigureAuth),它会出现在 class 文件 "Startup.Auth.cs" 中。第二个文件出现在 class 文件 "Startup.cs" 中。我怎样才能像这样组织 classes?
您可以在 C# 中使用部分 classes 将一个大的 class 拆分为多个文件。重构大 class 通常更好,但有一些合理的理由需要大 class。
部分 classes 的另一个用途是允许手动修改生成的代码 class。 class 的代码生成部分进入一个文件,而手动更改保存在一个单独的文件中。在您的情况下,有一个 Startup
class 是从处理启动的不同部分的单独源文件构建的。其中一些文件可以通过 NuGet 包添加,并且使用部分文件 class 大大简化了应用程序中包含不同功能的方式。
使用partial
:
假设您在源文件 MyClass.cs
:
class MyClass {
public void MethodA() { ... }
public void MethodB() { ... }
}
然后您可以将其拆分为两个源文件。 MyClass.A.cs
:
partial class MyClass {
public void MethodA() { ... }
}
和MyClass.B.cs
:
partial class MyClass {
public void MethodB() { ... }
}
因此,通过将 class 标记为 partial
,您可以将 class 的内容分布到 class
构造的多个实例中。编译器会在编译期间将它们全部合并到一个 class
定义中。
您可以在 MSDN 上学习 the details about partial classes。