partial 关键字的作用是将你的 class 分为多个部分,编译器会将多个部分拼到一起去。
public partial class SampleClass
...{
public void MethodA()
...{
}
}
public partial class SampleClass
...{
public void MethodB()
...{
}
}
和
public class SampleClass
...{
public void MethodA()
...{
}
public void MethodB()
...{
}
}
是等价的。
我猜想这个东西出现的初衷是为了解决掉:“窗体设计器生成的代码”这个令人讨厌的 region。
对我们来说,在团队开发当中这个东西或许也会有点用处。
我观察了一下生成的 IL 代码,使用 partial 生成的代码并没有什么特殊的标记,这说明 partial 纯粹是语言的特性,CLR 完全不知道这么个玩意的存在,这也就意味着不要指望将 partial class 编译为 assembly 或者 module 什么的再与其他的人写的 partial class 去进行拼接:它只能在编译的时候起作用。
为了考验一下编译器,我试着让某一个 partial class 不显式指定父类,发现代码仍然能够正确的通过编译,编译器会按照某一个显式指定了父类的 partial 进行编译,只有在多个 partial 指定了不同父类时才会报错。同样,如果多个 partial 指定了自相矛盾的修饰符的话,编译时也会报错的。
有意思的是,我们还可以写以下这样的代码:
public partial class Sample
...{
public partial class SampleSon
...{
public partial class SampleGrandson
...{
}
}
}
public partial class Sample
...{
public partial class SampleSon
...{
public partial class SampleGrandson
...{
}
}
}
分享到:
相关推荐
《C# 2.0 完全参考手册》是一本深度解析C# 2.0编程语言的专业书籍,其源代码提供了丰富的实例和示例,旨在帮助开发者深入理解和掌握C# 2.0的关键特性。这份源代码是学习C# 2.0的重要资源,通过实践这些代码,读者...
3. **部分类(Partial Classes)**:在大型项目中,为了提高代码组织和可维护性,C# 2.0引入了部分类。这使得一个类的定义可以分布在多个源文件中,如`WebForm1.aspx.cs`和`WebForm1.aspx.designer.cs`,分别存储...
C# 2.0是.NET Framework 2.0的一部分,它在C# 1.0的基础上引入了一系列增强和新特性,极大地提升了开发人员的生产力和代码的灵活性。在这个CHM文档中,我们可以期待深入探讨以下几个关键知识点: 1. **匿名方法**:...
C# 2.0是.NET Framework 2.0的一部分,发布于2005年,它引入了许多增强功能,进一步提升了开发人员的生产力和代码的可读性。以下是C# 2.0中的主要新特性: 1. **匿名方法**: 匿名方法允许在不定义单独的方法的...
本篇文章将深入探讨C#2.0中引入的四个关键特性:泛型、匿名方法、迭代器和不完整类型(partial type),并解释它们如何改变C#编程的面貌。 ### 泛型 #### 19.1 泛型的概念与优势 泛型是C#2.0中最具革命性的特性之...
C# 2.0引入了`partial`关键字,允许开发者将一个类的定义分散到多个源文件中,方便代码组织和管理。 6. **Lambda表达式**:虽然不是C# 2.0独有的,但随着.NET Framework 3.5的发布,lambda表达式成为C#中的一种重要...
C# 2.0是微软.NET框架下的一个重要版本,它在C# 1.1的基础上引入了许多新特性,显著增强了语言的功能性和灵活性。这个讲解将深入探讨这些关键特性,包括C# 2.0的简介、泛型、匿名方法、迭代器以及不完全类。 一、C#...
本资源《C#2.0新特性(CHM)》是一部关于这一版本的详细指南,它涵盖了C# 2.0的关键更新,帮助开发者掌握这一阶段的编程技术。 一、匿名方法 匿名方法是C# 2.0引入的一个重要特性,允许在不定义单独函数的情况下直接...
《程序天下:C#2.0实例自学手册》是一本专为C#初学者和有一定基础的开发者设计的自学教程,旨在通过丰富的实例帮助读者深入理解C#2.0编程语言的核心概念和技术。这本书的源代码包含了一系列精心设计的练习和项目,...
《完全手册-C#2.0实用开发详解》是一本深入探讨C# 2.0编程语言的书籍,旨在为读者提供全面、详细的C# 2.0开发指导。该书涵盖了从基础语法到高级特性的各个方面,是学习和提升C#编程技能的重要资源。源代码的提供使得...
根据提供的标题“深入理解C#2.0版”和描述中的信息,我们可以推断出这份文档主要关注的是C# 2.0版本的相关特性和深入理解。C#是一种现代、面向对象的编程语言,由微软开发,广泛应用于Windows平台上的各种软件开发。...
C# 2.0 是.NET Framework的重要更新,它引入了许多新特性,极大地提升了开发效率和代码质量。在C# 2.0中,最显著的改进之一就是泛型编程(Generics),它允许开发者编写可以处理多种数据类型的通用代码。在C# 1.0中...
《C# 2.0 宝典》是学习C#编程语言的一本经典著作,而提供的源码文件无疑是深入理解其内容的重要辅助资料。C# 2.0 是.NET Framework 2.0版本中支持的C#语言版本,它引入了许多关键特性,使得开发更加高效且灵活。以下...
C# 2.0增加了匿名类型和partial类,方便大型项目开发。 6. **接口**:接口定义了一组方法签名,用于实现多继承。C# 2.0引入了接口成员的默认实现。 7. **泛型**:泛型允许创建类型参数化的类、接口和方法,提高了...
《C# 2.0 自学手册》是一本旨在帮助初学者掌握C# 2.0编程语言的经典教程。此压缩包包含该书的所有源代码,是学习C#编程的重要辅助资源。通过深入研究这些源代码,读者可以直观地理解各种编程概念,提升实践能力。 ...
C# 2.0是.NET Framework 2.0的一部分,它引入了诸如匿名方法、迭代器、 partial 类和属性、可空类型以及泛型等新特性,这些都极大地提高了代码的可读性和可维护性。在这个八哥学语播放软件中,开发者可能利用了C# ...
【标题】"实现提升开发效率——C# 2.0开发环境"主要聚焦于如何利用C# 2.0版本的特性与工具来优化开发流程,提高开发人员的工作效率。C# 2.0是.NET Framework的一个重要版本,它引入了许多新特性,旨在提升开发者在...
《C# 2.0 宝典》是C#编程领域的一本经典著作,它深入浅出地介绍了C#语言的各个方面,对于学习和掌握C# 2.0版本的特性有着极大的帮助。源文件16到20这部分内容可能包含了书中对应章节的示例代码,这些代码旨在帮助...
《C# 2.0 完全参考手册》是一本深度解析C# 2.0编程语言的专业书籍,其中包含了丰富的实例和详细的源代码。这本书旨在帮助开发者全面掌握C# 2.0的关键特性和使用技巧,提升编程技能。源代码部分提供了书中各个章节...
《C# 2.0 宝典》是C#编程领域的一本经典著作,它深入浅出地介绍了C# 2.0版本的各种特性和应用。源文件6-10包含的是书中相应章节的示例代码,对于学习和理解C# 2.0语言的关键概念和技术具有极大的帮助。下面我们将...