“在 C# 中使用‘部分’类的好处”? [复制]
Posted
技术标签:
【中文标题】“在 C# 中使用‘部分’类的好处”? [复制]【英文标题】:"Benefits Of Using 'Partial' Class In C#"? [duplicate] 【发布时间】:2012-09-15 20:13:02 【问题描述】:可能重复:What are the benefits to using a partial class as opposed to an abstract one?
在 C# 中创建分部类有什么用。
它可能有什么缺点。
【问题讨论】:
programmers.stackexchange.com/questions/71494/… 见这里:***.com/questions/3601901/why-use-partial-classes 【参考方案1】:部分类通常由 Visual Studio 设计人员使用。例如实体框架设计器、WinForms、WPF 和 ASP.NET 设计器。它总是生成部分类,以便您以后可以向该部分类添加属性和方法,并实现一些自定义功能,这些功能在设计者的初始自动生成的类定义中不可用。
它可能有什么缺点。
由于现在可以将类的定义拆分到不同的.cs
文件中,因此阅读源代码的开发人员不再知道该类的所有位在哪里。类的定义不再集中在单个文件中,而是可以在同一个项目中展开。所以基本上,如果你开始滥用部分类,你最终可能会陷入一团糟。
【讨论】:
在内部,我们使用部分类将一些 GUI 与自定义 GUI 框架中的行为问题分开。但是,我们非常严格确保任何部分类在 Visual Studio 中“分组”(其中部分类是另一个类的“子类”,就像 ASPX 和 ASPX.CS 文件的方式一样)分组)【参考方案2】:部分类用于 WPF、Silverlight 等技术中。在这些情况下,类被制作成部分类以分离应用程序的设计和与其功能相关的代码。在 Windows 窗体中,Visual Studio 自动生成设计代码部分(假设设计用户使用 UI 设计器工具提交)。在 WPF 中,XAML 也会动态编译为部分类。
【讨论】:
【参考方案3】:部分类用于能够拆分类的定义。这意味着您可以跨多个文件或文件的多个部分定义一个类。 .NET 框架本身最常使用它来将自动生成的代码与用户代码分开,正如您在 WinForms 等中看到的那样。
使用分部类并没有任何缺点,因为您有明确的理由实际开始使用它们,这并不常见。
【讨论】:
以上是关于“在 C# 中使用‘部分’类的好处”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥 ArrayList 在内部使用 Object[](而不是 E[])? [复制]